10个Python小技巧

本文分享了10项Python编程实用技巧,包括条件判断简化、累加求和、文件操作优化、序列操作等,旨在帮助Python开发者提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缘起:几天没更新了,总结一些Python小技巧,希望在Python路上的你能越走越远


1、条件判断

flag=True
if flag:
    x=1
else:
    x=2
print(x)

简化形式:

flag=True
x=1 if flag else 2
print(x)

2、累加求和

sum=0
for i in range(0,101):
    sum +=i
print(sum)

利用求和函数sum():

print(sum(range(0,101)))

3、文件关闭

f = open('file.txt','r')
f_control = f.read()
f.close()
words = f_control.split(' ')
word_count=len(words)
print (word_count)

配合with使用更简便:

with open('file.txt','r') as f:
    f_control=f.read()
words = f_control.split(' ')
word_count=len(words)
print (word_count)

4、输出下标与键

seq = ['Zero','One','Two','Three']
i=0
for element in seq:
    print (i,seq[i])
    i+=1

使用enumerate函数来遍历:

seq = ['Zero','One','Two','Three']
for i, element in enumerate(seq):
    print (i, element)

5、遍历多个序列

names=['Corey','Chris','Dave','Apple']
ages=[20,23,18,24]
for i,name in enumerate(names):
    age=ages[i]
    print('{} is {} old'.format(name,age))

用zip函数来简化:

names=['Corey','Chris','Dave','Apple']
ages=[20,23,18,24]
for name ,age in zip(names,ages):
    print('{} is {} old'.format(name,age))

 6、序列取首尾

传统方式:

numbers=(0,1,2,3,4,5,6,7,8,9)
head=numbers[0]
tail=numbers[-1]
print (head)
print (tail)

利用下划线_:

numbers=(0,1,2,3,4,5,6,7,8,9)
head,*_,tail=numbers
print (head)
print (tail)

7、输入加密的密码

username = input('Username: ')
password = input('Password:')
print ('Logging In...')
>>>
Username: leijun
Password:python
Logging In...

密码通常隐藏输入:

from getpass import getpass
username=input('Username: ')
password=getpass('Password:')
print ('Logging In...')

>>
Username: leijun
Password:
Logging In...
注:Python自带IDLE似乎不支持隐藏回显,在cmd有效

 8、列表找奇数

a=[1,2,3,4,5,6,7,8,9,10]
res=[i for i in a if i%2==1]
print(res)

 9、列表合并,在已存在的列表中添加新的列表内容

传统做法:

list1=[1,3,5,7,9]
list2=[2,4,6,8,10]
list1=list1+list2
print(list1)

使用extend函数:

list1=[1,3,5,7,9]
list2=[2,4,6,8,10]
list1.extend(list2)
list1.sort(reverse=False)
print(list1)

10、有趣的python

画爱心

print('\n'.join([''.join([('ILoveYou'[(x-y)%8]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')for x in range(-30,30)])for y in range(15,-15,-1)]))

 

离人工智能最近的一次
 

while True:
    s = input("me:").strip('??').replace("吗","").replace("你","").replace("我","")
    print("AI:"+s)
>>>
me:你好
AI:好
me:你爱我吗?
AI:爱
me:有趣
AI:有趣

博主GitHub page地址:zhan123.xin

博主知乎地址:影的知乎文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值