尽管Python自发布以来已经走过了30年,但它仍然是现存最相关的高级编程语言之一。许多开发人员选择这种语言来开发易于维护并在许多操作系统和Linux发行版上以最少的手动工作运行的应用程序。Python的最大好处之一是它能够绕过(完全是双关语)其他语言中的许多约定,程序员只需付出很少的努力,就可以编写非常简单的小“戒烟线”来完成工作。这里有一些例子!内容1.交换变量2.做一个快速的餐巾纸阶乘3.初始化并声明多个变量4.打开并读取文件6.创建数字范围列表7.显示所有用户(在Linux/Unix/BSD中)8.生成随机密码9.FindInstancesofAnythinginText10.ConvertHexExpressionstoPlaintextFAQ1.SwapVariables由于您不必处理内存中的地址等繁琐的事情,因此可以在一行代码中完成Swapbetweenvariables:x,y=y,x只需用逗号分隔每个变量,然后交换它们!下面是这个概念在一个片段中的样子:x=1y=4x,y=y,xprint(x,y)在控制台中运行这个命令应该输出“41”。2.制作一张餐巾纸阶乘Python的数学工具允许一些非常有创意的代码执行复杂的计算。例如,找出某些对象的排列方式的最快方法是什么?做阶乘。通过调用reduce(),可以快速找出答案!reduce(lambdaa,b:a*b,range(1,x+1)此调用将计算您之前在“x”中定义的任何数字的阶乘不要忘记reduce()是Python的一个组成部分函数工具库。代码片段如下所示:fromfunctoolsimportreducex=12print(reduce(lambdaa,b:a*b,range(1,x+1)))你的控制台应该从这个特定的计算中输出479001600。去aheadanddo"x"whatyouwant!3.初始化和声明多个变量Python的语法规则允许你做一些非常疯狂的事情。例如,一次性初始化和声明尽可能多的变量。这与逐行做相反的事情。x,y,z=16,78,195打印出来,你会得到“1678195”最好的部分是你甚至不必限制自己声明一个变量输入一行。用像“Hi”这样的字符串替换“y”声明,你就可以开始了!4.打开并读取文件Python要求您像许多其他语言一样逐行遍历文件。即便如此,它仍为您提供了在一行代码中打开和读取文件的全部功能:[line.strip()forlineinopen('file.txt')]现在,如果我只想显示我自己的默认bash配置文件的文本,我会这样写:[print(line.strip())forlineinopen('/home/miguel/.bashrc')]5.写入文件与读取文件相同file,use用这种优美的语言编写文件的过程非常简单。withopen("file.txt",'a',newline='\n')asf:f.write("Thisisanewlineinafile")这个with语句使你不必关闭文件句柄麻烦。因此,当您的应用程序打开时,它不会与试图访问它的其他应用程序发生冲突。您现在可以使用您在读取文件时学到的单行代码来检查该行是否已正确添加![print(line.strip())forlineinopen('file.txt')]6.创建数字范围列表类似于其他脚本语言如LUA的工作方式,Python允许您生成预通过简单地操纵导致可预测的结果填充列表。在此代码片段中,我们创建了一个包含0到9之间的10个整数的列表:lst=[iforiinrange(0,10)]打印此列表将生成一个以逗号分隔的数字列表,其中包含我们之前讨论过的参数。7.显示所有用户(在Linux/Unix/BSD中)想知道在您的特定Linux安装中您实际拥有多少个用户名?Python有一种很好的方法可以通过打开“/etc/passwd”文件在一行中完成此操作。在这种情况下,我们所要做的就是删除每行中从第一个冒号(“:”)开始的所有内容。print('\n'.join(line.split(":",1)[0]forlineinopen("/etc/passwd")))如果您没有仔细查看该文件,您可能惊讶地发现,系统创建的用户比您使用root登录的用户多得多。用户列表通常这么长,因为系统会根据您运行的服务创建自己的身份验证形式。8.生成随机密码与任何自尊语言一样,Python允许您随机化事物,但它不得不更进一步,允许您在一行中生成密码。诚然,这是一个很长的过程..pwd='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)';print(''.join([pwd[random.randint(0,len(pwd)-1)]foriinrange(32)]))这个特定的片段将生成一个32个字符的密码,允许有空格。根据自己的喜好调整。如果出于某种原因您不想在密码中使用空格,请删除字符串声明中的空格。不要忘记导入“随机”库,否则您的代码将无法运行!9.查找文本中任何内容的实例如果你正在阅读一个长文件并试图找出其中有多少个特定表达式的实例,这有点奇怪:len(re.findall('d','笨懒猫不会打鸟。'))在这个特定的例子中,我们试图找出字母“d”在字符串中出现了多少次跟随它。从打印输出中,控制台让我们知道这封信有3个实例。您可以使用整个单词并在文件中搜索来执行此操作。10.将十六进制表达式转换为明文通过一点迭代魔法,可以使用一个简单的表达式将十六进制代码转换为明文:print(''.join(chr(int(''.join(i),16))foriinzip(*[iter('576f772c2049276d2077726974696e6720696e2068657861646563696d616c21')]*2)))里面的iter()是一个十六进制表达式,这段代码会翻译成“哇,我在用十六进制写!”常见问题Python相对于其他语言有多难?虽然Python确实有一些特定于某些编码风格的陷阱,但由于其对可变类型的灵活性,Python提供了比其他语言更适合初学者的氛围。它是一种解释型语言,因此不需要您处理手动分配内存并确保在不再使用时将其释放的苦差事。Python稳定吗?Python的开发人员强烈反对使用新版本使旧代码失效的想法,并且在历史上非常小心地确保与甚至更旧的代码的向后兼容性。2005年,Python社区不得不处理一个棘手的问题,即reduce()和许多其他函数从标准库中删除,并且必须从Python3000中的另一个库中导入。通常,这些东西是公开的,如果您的代码停止正常运行,控制台会提供有用的信息,让您找出原因并相应地进行调整。Python最好的开发环境是什么?如果您想使用Python的IDE,可以使用一些跨操作系统的选项:Pycharm-如果您真的想全身心投入Python,请使用这个。此IDE仅专注于Python,包含大量工具和库,可帮助您流畅地编写代码。VisualStudioCode——如果你最终想扩展和学习其他语言,VSCode(在Linux中有时称为Code-OSS,在ArchLinux中称为“Code”包)提供了强大的功能和针对各种语言设备的集成编译。努力——它允许在任何终端模拟器中非常快速地编辑复杂的文本。它的学习曲线很高,但应该是每个程序员的武器库。
