Python编程中的几个tips

水深无声 2022-02-25 04:12 370阅读 0赞

1. 在大数字中使用下划线,增强代码可读性

  1. #普通代码
  2. num1=100000000000
  3. num2=100000000
  4. res=num1+num2
  5. print(res)
  • 在大数字运算的时候,有时候很难一眼看出数字的大小,需要一个个去数,这时候,可以使用短下划线标记,并不影响计算,同时代码中大数字的可读性更强

    使用下划线 (适用于python3以上)

    num1=1000_0000_0000
    num2=1_0000_0000
    res=num1+num2
    print(res)

  • 同样在打印的时候,可以通过格式化输出进行标记

    print(f’{res:,}’)

2. python的“三目运算符”

  1. #普通代码
  2. condition=True
  3. if condition==True:
  4. x=1
  5. else:
  6. x=0
  • Python中没有如? :的三目运算符,但是可以使用如下的“三目运算符” ,使代码更加简洁

    使用“三目运算符”

    condition=True
    x=1 if condition else 0

3. 使用enumerate

  1. #普通代码
  2. names=['Jerry','Tom','Alice','Herry']
  3. index=0
  4. for name in names:
  5. print(index,name)
  6. index+=1
  • 使用enumerate函数,enumerate函数可以将一个可遍历的对象,(如列表,元组,字符串)转换为一个索引序列,并可以指定起始下标值

    使用enumerate

    names=[‘Jerry’,’Tom’,’Alice’,’Herry’]
    for index,name in enumerate(names,start=1):

    1. print(index,name)

4. 使用zip

  1. #普通代码
  2. names=['Jerry','Tom','Alice','Herry']
  3. scores=[99,89,79,69]
  4. for index,name in enumerate(names):
  5. score=scores[index]
  6. print(str(name)+ "\'s score is" +str(score))
  • 使用zip,zip可以将多个可迭代的对象中的对应下标元素组合成一个个元组

    使用zip

    names=[‘Jerry’,’Tom’,’Alice’,’Herry’]
    scores=[99,89,79,69]
    for name,score in zip(names,scores):

    1. print(str(name)+ "\'s score is" +str(score))

5. unpack

‘序列’解包,可以将python的可迭代对象中的元素,单个或多个的分离出来,

  1. #分离元组中的每个元素
  2. a,b,_=(1,2,3)
  3. print(a)
  4. print(b)
  5. #使用*号分离多个元素
  6. a,b,*c=(1,2,3,4,5,6)
  7. print(a)
  8. print(b)
  9. print(c)
  10. a,b,*_,d=(1,2,3,4,5,6)
  11. print(a)
  12. print(b)
  13. print(c)
  14. print(d)

6. setattr & getattr

  • 设置和获取属性

    class Animal():

    1. pass

    animal=Animal()

    animal_list={“first”:”Monky”,”second”:”Dog”}

    for key,value in animal_list.items():

    1. setattr(animal,key,value)

    for key in animal_list.keys():

    1. print(getattr(animal,key))

7.使用getpass 输入密码

  1. #使用input
  2. username=input("username:")
  3. password=input("password:")
  4. print("log in...")
  5. print(password)
  • 使用getpass,可以在终端输入情况下隐藏输入字符

    使用getpass

    from getpass import getpass
    username=input(“username:”)
    password=getpass(“password:”)
    print(“log in…”)
    print(password)

发表评论

表情:
评论列表 (有 0 条评论,370人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python tips

    TCP协议中发送和接收的都是字符串,python中的TCP网络编程也不例外,而且必须有一个变量存储recieve到的东西。 [python字符串与列表的相互转换][py