Heim > Artikel > Backend-Entwicklung > Zehn nützliche Python-One-Linger-Programme, die Sie kennen müssen
Obwohl Python seit seiner Veröffentlichung bereits 30 Jahre alt ist, bleibt es eine der relevantesten High-Level-Programmiersprachen überhaupt. Viele Entwickler entscheiden sich für die Verwendung dieser Sprache, um Anwendungen zu entwickeln, die auf vielen Betriebssystemen und Linux-Distributionen einfach zu warten sind und nur sehr wenig manuellen Aufwand erfordern.
Einer der größten Vorteile von Python ist seine Fähigkeit, viele Konventionen zu umgehen in anderen Sprachen ermöglichen es dem Programmierer, sehr einfache kleine „Witze“ zu schreiben, die die Arbeit mit sehr geringem Aufwand seitens des Programmierers erledigen. Hier ein paar Beispiele!
x, y = y, x
x = 1 y = 4 x, y = y, x print(x,y)
Das Ausführen des Befehls in der Konsole sollte „4 1“ ausgeben.
2. Erstellen Sie schnell eine Servietten-Fakultät Pythons Mathematik-Tools ermöglichen sehr kreativem Code die Durchführung komplexer Berechnungen. Wie kann man zum Beispiel am schnellsten herausfinden, wie manche Objekte angeordnet sind? Machen Sie die Fakultät. Rufen Sie Reduce() auf und Sie können die Antwort schnell herausfinden!reduce(lambda a, b: a * b, range(1, x+1)Dieser Aufruf berechnet die Fakultät jeder Zahl, die Sie zuvor in „x“ definiert haben.
from functools import reduce x = 12print(reduce(lambda a, b: a * b, range(1, x+1)))
Ihre Konsole sollte aus dieser speziellen Berechnung 479001600 ausgeben. Machen Sie weiter „x“, wie Sie möchten!
3. Initialisieren und deklarieren Sie mehrere Variablen. Mit den Syntaxregeln von Python können Sie einige ziemlich verrückte Dinge tun. Initialisieren und deklarieren Sie beispielsweise so viele Variablen wie möglich gleichzeitig. Dies ist das Gegenteil der zeilenweisen Ausführung.x, y, z = 16, 78, 195Drucken Sie diese aus und Sie erhalten „16 78 195“. Das Beste daran ist, dass Sie sich nicht einmal darauf beschränken müssen, einen Variablentyp in einer Zeile zu deklarieren. Ersetzen Sie die „y“-Anweisung durch eine Zeichenfolge wie „Hi“ und schon kann es losgehen! 4. Öffnen und lesen Sie die Datei. Python erfordert, dass Sie die Datei Zeile für Zeile durchlaufen, wie in vielen anderen Sprachen. Trotzdem bietet es Ihnen die volle Funktionalität zum Öffnen und Lesen von Dateien in einer Codezeile:
[line.strip() for line in open('file.txt')]Wenn ich jetzt nur den Text meines eigenen Standard-Bash-Profils anzeigen wollte, würde ich Folgendes schreiben:
[print(line.strip()) for line in open('/home/miguel/.bashrc')]
5. Dateien schreiben Genau wie das Lesen von Dateien ist das Schreiben von Dateien in dieser schönen Sprache sehr einfach.
with open("file.txt",'a',newline='n') as f: f.write("This is a new line in a file")Diese Syntax erspart Ihnen das Schließen des Dateihandles. Wenn Ihre App geöffnet ist, kommt es also nicht zu Konflikten mit anderen Apps, die versuchen, darauf zuzugreifen.
Sie können jetzt mit dem erlernten Einzeilenprogramm zum Lesen von Dateien überprüfen, ob die Zeile korrekt hinzugefügt wurde!
[print(line.strip()) for line in open('file.txt')]6. Erstellen Sie eine Liste mit Zahlenbereichen Ähnlich wie andere Skriptsprachen wie LUA funktionieren, ermöglicht Ihnen Python die Generierung vorab ausgefüllter Listen, sofern die Operation zu vorhersehbaren Ergebnissen führt. In diesem Codeausschnitt erstellen wir eine Liste mit 10 Ganzzahlen im Bereich von 0 bis 9:
lst = [i for i in range(0,10)]Wenn Sie diese Liste drucken, wird eine durch Kommas getrennte Liste von Zahlen erstellt, die die zuvor besprochenen Parameter enthält.
想知道在您的特定Linux安装中实际上有多少个用户名吗?Python有一个很好的方法,通过打开“/etc/passwd”文件,在一行中就可以做到这一点。在这种情况下,我们要做的就是从每行的第一个冒号(":")开始删除所有内容。
print('n'.join(line.split(":",1)[0] for line in open("/etc/passwd")))
如果您没有仔细查看该文件,您可能会惊讶地发现,系统创建的用户比您登录时使用的用户和根用户多得多。
用户列表通常有这么长,因为系统会根据您运行的服务创建自己的身份验证形式。
像任何自尊的语言一样,Python允许你随机化事情,但是它不能不更进一步,允许你在一行中生成密码。诚然,这是一个非常漫长的过程..
pwd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 %^*(-_=+)'; print(''.join([pwd[random.randint(0,len(pwd)-1)] for i in range(32)]))
这个特定的代码片段将生成一个32个字符的密码,允许使用空格。根据你的喜好调整。如果您出于某种原因不想在密码中使用空格,请删除字符串声明中的空格。不要忘记导入“随机”库,否则你的代码将无法工作!
如果您正在阅读一个较长的文件,并试图找出其中有多少个特定表达式的实例,这就有点奇怪了:
import re; len(re.findall('d','The dumb lazy cat doesn't know how to hunt birds.'))
在这个特殊的例子中,我们试图找出字母“d”在它后面的字符串中出现了多少次。通过打印输出,控制台让我们知道这封信有3个实例。您可以使用整个单词和在文件中搜索来实现这一点。
通过一点迭代魔法,可以用一个简单的表达式将十六进制代码转换成纯文本:
print(''.join(chr(int(''.join(i), 16)) for i in zip(*[iter('576f772c2049276d2077726974696e6720696e2068657861646563696d616c21')]*2)))
里面的一大堆胡言乱语iter()是一个十六进制表达式,这段代码将其转换为“哇,我在用十六进制写!”
常见问题
虽然Python确实有一些特定于某些编码风格的缺陷,但由于它在可变类型方面的灵活性,Python提供了比其他语言更友好的初学者氛围。它是一种解释型语言,所以它不需要您处理手动分配内存并确保在不再使用时释放内存的繁琐工作。
Python的开发人员强烈反对用新版本使旧代码无效的想法,并且在历史上一直非常小心地确保向后兼容更旧的代码。在2005年,Python社区不得不处理一个棘手的问题reduce()和许多其他功能从标准库中移除并且必须从Python 3000中的另一个导入。一般来说,这些事情都是公开的,如果您的代码停止正常运行,控制台会提供有用的信息,让您找出原因并做出相应的调整。
如果您想使用Python的集成开发环境,有几个跨操作系统的选项可供您选择:
–如果你真的想献身于Python,就用这个吧。这个IDE只专注于Python,包含大量的工具和库,可以帮助您流畅地编写代码。
–如果您希望最终扩展并学习其他语言,VSCode(在Linux中有时称为Code–OSS,在Arch Linux中称为“Code”包)提供了强大的功能以及针对各种语言的集成编译器。
–它允许在任何终端模拟器中非常快速地编辑复杂的文本。它有很高的学习曲线,但应该是每个程序员的武器库。
Das obige ist der detaillierte Inhalt vonZehn nützliche Python-One-Linger-Programme, die Sie kennen müssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!