首页 > 编程语言 >Python程序员常犯的编码错误(一)

Python程序员常犯的编码错误(一)

时间:2022-10-15 21:00:12浏览次数:55  
标签:方案 常犯 Python 如下 程序员 所示 print 优雅 变量

1. 引言

在常见的编程语言中,通常有多种方法来实现同一个解决方案。如下:

Python程序员常犯的编码错误(一)_python

在本文中,我将向大家介绍五个Python程序员在不知不觉中陷入编写非优雅、复杂的Pythone代码的陷阱的具体情况;除此之外,我还将为相应的问题提供替代的解决方案,以帮助大家改善相应的编码习惯。

2. 使用多个print语句

(1). 一般方案

如果我们需要打印多个变量,那么一般的方法建议每个变量都应该有自己的​​print​​语句。如下:

Python程序员常犯的编码错误(一)_python_02

(2). 优雅方案

根据我的经验,使用多个​​print​​语句通常是程序员(尤其是新手)在使用Python编码时最常见的错误。然而,他们不知道的是,使用函数​​print()​​,可以在一个print语句中打印多个变量,如下所示:

Python程序员常犯的编码错误(一)_python_03

函数​​print()​​的参数​​sep​​指定了使用同一打印语句中各种变量之间的分隔符。

3. 使用for循环打印相同的变量

(1). 一般方案

使用​​for​​循环打印同一个变量正如标题所示,目的是多次打印同一变量。如下:

Python程序员常犯的编码错误(一)_for循环_04

(2). 优雅方案尽管编写FOR循环没有坏处,而且一切都很容易理解,但是我们没有必要编写FOR环来多次打印同一变量。更优雅的方式如下:

Python程序员常犯的编码错误(一)_python_05

4. 创建单独的变量以跟踪循环中的索引

(1). 一般方案

为了实现这一点,通常需要定义一个新变量(idx)来跟踪索引值并在每次迭代中递增,如下所示:

Python程序员常犯的编码错误(一)_python_06

(2). 优雅方案

感谢开发​​enumerate()​​函数的开发人员。本质上,使用此方法,可以跟踪索引(idx)和值(i),如下所示:

Python程序员常犯的编码错误(一)_python_07

5. 使用for循环将列表转换为字符串

图像示例如下:

Python程序员常犯的编码错误(一)_for循环_08

(1). 一般方案

使用FOR循环(如下所示),我们可以一次处理一个列表元素。

Python程序员常犯的编码错误(一)_for循环_09

(2). 优雅方案将列表转换为字符串的巧妙方法是使用函数​​join()​​,如下所示:

Python程序员常犯的编码错误(一)_python_10

6. 使用for循环从列表中删除重复元素

图像示例如下:

Python程序员常犯的编码错误(一)_python_11

(1). 一般方案

FOR循环再次出现。 最简单的方法是遍历列表并在新列表中存储唯一元素。

Python程序员常犯的编码错误(一)_python_12

(2). 优雅方案

但是,只需一行Python代码就可以从列表中删除重复项,如下所示:

Python程序员常犯的编码错误(一)_python_13

7. 总结

本文介绍了在python日常编码中,程序员经常犯的新手错误,并相应的给出了更为简洁和优雅的替代方案。

您学废了嘛?

标签:方案,常犯,Python,如下,程序员,所示,print,优雅,变量
From: https://blog.51cto.com/u_15506603/5759285

相关文章

  • python学习——爬取数据到excel
    python的学习直接使用网页爬虫,将内容爬取到excel,也是为之后的大数据学习做铺垫。下面的代码是我爬取的豆瓣电影Top250的电影基本信息,当然,也可以爬取到数据库中#-*-cod......
  • (数据科学学习手札144)使用管道操作符高效书写Python代码
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,一些比较熟悉pandas的读者朋友应该经常会使用que......
  • python 笔记
    变量:直接弄,不用搞类型,关于字符串有一个转义/的运用.注释:#(单行)''''''多行python没有{},用行对齐来表示函数:def+函数名(参数): 加回车下面就开始......
  • Python-excel转置,行转列,列转行
    代码importpandasaspddf=pd.read_excel('temp.xlsx',index=False)#读取需要转置的文件df=df.T#转置#df.to_excel('abc.xlsx',header=False)#另存为x......
  • python 中OS操作
    #获取系统名称In[235]:os.nameOut[235]:'nt'#win系统的名称nt#获取当前文件的绝对路径In[236]:os.getcwd()Out[236]:'D:\\djangoPro\\sample\\1''''绝对路径:从具......
  • python第十五课--近期代码练习
    1.利用有参装饰器编写多种用户登录校验策略"""1.直接写死的jason1232.数据来源于列表['jason|123','kevin|321','tony|222']3.数据来源于文件jason|123\ntom|32......
  • 力扣454(java&python)-四数相加 II(中等)
    题目:给你四个整数数组nums1、nums2、nums3和nums4,数组长度都是n,请你计算有多少个元组(i,j,k,l)能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+......
  • 在docker应用中安装python3环境,运行程序,输出日志时间比本地时间慢8小时
    根据排查原因是docker容器时间以0时区为准,中国在东8区,因此输出时间比中国时间慢了8小时解决方法一:1:首先,进入docker应用中dockerexec-it-urootjenkinsbash说明:使......
  • python3.10新特性
    python3.10新特性1.指定1个或多个属性类型.deffunc(num:int|float|str):print(num)func(['a',])#当传入参数与要求不符时,会给予提示2.更严格zip()......
  • Python操作MySQL
    准备安装三方库pipinstallpymysql导入三方库importpymysql将用户输入写入MySQLwhileTrue:user=input("用户名:")passwd=input("密码:")mobile=input("手......