Maison  >  Article  >  développement back-end  >  Dix programmes Python One-Linger utiles que vous devez connaître

Dix programmes Python One-Linger utiles que vous devez connaître

WBOY
WBOYavant
2023-04-12 22:01:101173parcourir

Dix programmes Python One-Linger utiles que vous devez connaître

Bien que Python ait passé 30 ans depuis sa sortie, il reste l'un des langages de programmation de haut niveau les plus pertinents qui existent. De nombreux développeurs choisiront d'utiliser ce langage pour développer des applications faciles à maintenir et nécessitant très peu d'effort manuel sur de nombreux systèmes d'exploitation et distributions Linux.

L'un des plus grands avantages de Python est sa capacité à contourner (jeu de mots totalement intentionnel) de nombreux. les conventions dans d'autres langages permettent au programmeur d'écrire de petites « plaisanteries » très simples qui font le travail avec très peu d'effort de la part du programmeur. Voici quelques exemples !

Contenu

  • 1. Échangez des variables
  • 2. Créez une factorielle de serviette rapide
  • 3. Initialisez et déclarez plusieurs variables
  • 4. . Afficher tous les utilisateurs (sous Linux/Unix/BSD)
  • 8. Générer des mots de passe aléatoires
  • 9. Rechercher des instances de n'importe quoi dans le texte
  • 10. Convertir des expressions hexadécimales en texte clair
  • FAQ
  • 1.
  • Parce que vous n'avez pas à vous soucier de choses fastidieuses comme les adresses en mémoire, l'échange entre les variables peut être effectué en une seule ligne de code :
  • x, y = y, x
Séparez simplement chaque variable par une virgule et échangez-les !

Voici à quoi ressemble ce concept dans un extrait :

x = 1
y = 4
x, y = y, x
print(x,y)

L'exécution de la commande dans la console devrait afficher "4 1".

2. Créez une factorielle de serviette rapide

Les outils mathématiques de Python permettent à un code très créatif d'effectuer des calculs complexes. Par exemple, quel est le moyen le plus rapide de découvrir comment certains objets sont disposés ? Faites la factorielle. Appelez réduire() et vous pourrez trouver la réponse rapidement ! Dix programmes Python One-Linger utiles que vous devez connaître

reduce(lambda a, b: a * b, range(1, x+1)

Cet appel calculera la factorielle de n'importe quel nombre que vous avez précédemment défini dans "x"

N'oubliez pas que réduire() fait partie de la bibliothèque d'outils fonctionnels de Python. L'extrait de code ressemble à ceci :

from functools import reduce
x = 12print(reduce(lambda a, b: a * b, range(1, x+1)))

Votre console devrait générer 479001600 à partir de ce calcul particulier. Continuez à faire "x" que vous voulez !

3. Initialisez et déclarez plusieurs variables

Les règles de syntaxe de Python vous permettent de faire des choses assez folles. Par exemple, initialisez et déclarez autant de variables que possible à la fois. C'est le contraire de l'exécution ligne par ligne. Dix programmes Python One-Linger utiles que vous devez connaître

x, y, z = 16, 78, 195

Imprimez-les et vous obtiendrez "16 78 195". Le meilleur, c'est que vous n'avez même pas besoin de vous limiter à déclarer un type de variable sur une seule ligne. Remplacez l'instruction « y » par une chaîne comme « Salut » et vous êtes prêt à partir !

4. Ouvrez et lisez le fichier

Python vous oblige à parcourir le fichier ligne par ligne comme dans de nombreux autres langages. Malgré tout, il vous offre toutes les fonctionnalités d'ouverture et de lecture de fichiers sur une seule ligne de code : Dix programmes Python One-Linger utiles que vous devez connaître

[line.strip() for line in open('file.txt')]

Maintenant, si je voulais juste afficher le texte de mon propre profil bash par défaut, j'écrirais ceci :

[print(line.strip()) for line in open('/home/miguel/.bashrc')]

5. Écrire des fichiers

Tout comme la lecture de fichiers, le processus d'écriture de fichiers dans cette belle langue est très simple. Dix programmes Python One-Linger utiles que vous devez connaître

with open("file.txt",'a',newline='n') as f: f.write("This is a new line in a file")

Cette syntaxe vous évite d'avoir à fermer le descripteur de fichier. Ainsi, lorsque votre application est ouverte, elle n'entrera pas en conflit avec d'autres applications essayant d'y accéder.

Vous pouvez maintenant utiliser le programme d'une seule ligne que vous avez appris pour lire des fichiers pour vérifier que la ligne a été ajoutée correctement !

[print(line.strip()) for line in open('file.txt')]

6. Créez une liste de plages de numéros

Semblable au fonctionnement d'autres langages de script comme LUA, Python vous permet de générer des listes pré-remplies tant que l'opération aboutit à des résultats prévisibles. Dans cet extrait de code, nous créons une liste de 10 nombres entiers allant de 0 à 9 : Dix programmes Python One-Linger utiles que vous devez connaître

lst = [i for i in range(0,10)]

L'impression de cette liste produira une liste de nombres séparés par des virgules contenant les paramètres dont nous avons discuté plus tôt.

7.显示所有用户(在Linux/Unix/BSD中)

想知道在您的特定Linux安装中实际上有多少个用户名吗?Python有一个很好的方法,通过打开“/etc/passwd”文件,在一行中就可以做到这一点。在这种情况下,我们要做的就是从每行的第一个冒号(":")开始删除所有内容。

print('n'.join(line.split(":",1)[0] for line in open("/etc/passwd")))

如果您没有仔细查看该文件,您可能会惊讶地发现,系统创建的用户比您登录时使用的用户和根用户多得多。

Dix programmes Python One-Linger utiles que vous devez connaître

用户列表通常有这么长,因为系统会根据您运行的服务创建自己的身份验证形式。

8.生成随机密码

像任何自尊的语言一样,Python允许你随机化事情,但是它不能不更进一步,允许你在一行中生成密码。诚然,这是一个非常漫长的过程..

pwd = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 %^*(-_=+)'; print(''.join([pwd[random.randint(0,len(pwd)-1)] for i in range(32)]))

这个特定的代码片段将生成一个32个字符的密码,允许使用空格。根据你的喜好调整。如果您出于某种原因不想在密码中使用空格,请删除字符串声明中的空格。不要忘记导入“随机”库,否则你的代码将无法工作!

Dix programmes Python One-Linger utiles que vous devez connaître

9.查找文本中任何内容的实例

如果您正在阅读一个较长的文件,并试图找出其中有多少个特定表达式的实例,这就有点奇怪了:

import re; len(re.findall('d','The dumb lazy cat doesn't know how to hunt birds.'))

在这个特殊的例子中,我们试图找出字母“d”在它后面的字符串中出现了多少次。通过打印输出,控制台让我们知道这封信有3个实例。您可以使用整个单词和在文件中搜索来实现这一点。

Dix programmes Python One-Linger utiles que vous devez connaître

10.将十六进制表达式转换为明文

通过一点迭代魔法,可以用一个简单的表达式将十六进制代码转换成纯文本:

print(''.join(chr(int(''.join(i), 16)) for i in zip(*[iter('576f772c2049276d2077726974696e6720696e2068657861646563696d616c21')]*2)))

里面的一大堆胡言乱语iter()是一个十六进制表达式,这段代码将其转换为“哇,我在用十六进制写!”

Dix programmes Python One-Linger utiles que vous devez connaître

常见问题

Python相对于其他语言有多难?

虽然Python确实有一些特定于某些编码风格的缺陷,但由于它在可变类型方面的灵活性,Python提供了比其他语言更友好的初学者氛围。它是一种解释型语言,所以它不需要您处理手动分配内存并确保在不再使用时释放内存的繁琐工作。

Python稳定吗?

Python的开发人员强烈反对用新版本使旧代码无效的想法,并且在历史上一直非常小心地确保向后兼容更旧的代码。在2005年,Python社区不得不处理一个棘手的问题reduce()和许多其他功能从标准库中移除并且必须从Python 3000中的另一个导入。一般来说,这些事情都是公开的,如果您的代码停止正常运行,控制台会提供有用的信息,让您找出原因并做出相应的调整。

Python最好的开发环境是什么?

如果您想使用Python的集成开发环境,有几个跨操作系统的选项可供您选择:

  • 皮查姆

   –如果你真的想献身于Python,就用这个吧。这个IDE只专注于Python,包含大量的工具和库,可以帮助您流畅地编写代码。

  • Visual Studio代码

   –如果您希望最终扩展并学习其他语言,VSCode(在Linux中有时称为Code–OSS,在Arch Linux中称为“Code”包)提供了强大的功能以及针对各种语言的集成编译器。

  • 精力

   –它允许在任何终端模拟器中非常快速地编辑复杂的文本。它有很高的学习曲线,但应该是每个程序员的武器库。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer