Python的十个小技巧

变量转换

a=1
b=2
a,b=b,a

print 输出

name="Tony"
age=18

print("I am %s, %d"%(name,age))
print("I am {}, {}".format(name,age))
print("I am {0}, {0}".format(name))
print(f"I am {name},{age+1}")

yeild函数

# 0 1 1 2 3 5 8
def fibonacci(n):
    a=0
    b=1
    nums=[]
    for _ in range(n):
        nums.append(a)
        a,b=b,a+b
    return nums
def fibonacci2(n):
    a=0
    b=1
    for _ in range(n):
        yield a
        a,b=b,a+b

import time
st=time.time()
for i in fibonacci(100000):
    pass
et=time.time()
print(f"{et-st}")

st=time.time()
for i in fibonacci2(100000):
    pass
et=time.time()
print(f"{et-st}")


# yield 与return
# yield 产出,执行一次一次返回,return是所有数据生产的再返回
# yield针对那些超时的程序,比如下载多个文档并查看,就不用等待文档下载完了后再读取

列表解析式

fruit=["apple","banana","pear","orange"]
fruit=[x.upper() for x in fruit]
print(fruit)
filter_fruit=[ x for x in fruit if x.startswith("A")]
print(filter_fruit)

Enumerate函数

fruit=["apple","banana","pear","orange"]
for i,x in enumerate(fruit):
    print(i,x)

反向遍历

fruit=["apple","banana","pear","orange"]
for i,x in enumerate(reversed(fruit)):
    print(i,x)

按顺序遍历

fruit=["apple","banana","pear","orange"]
for i,x in enumerate(sorted(fruit)):
    print(i,x)

字典合并

a={"tony":"18"}
b={"Andy":"20"}
c={}
# for k in a:
#     c[k]=a[k]
# for k in b:
#     c[k]=b[k]
c={**a,**b}
print(c)

三元运算符

# if socre >60:
#     s="pass"
# else:
#     s="fail"
score=70
s= "pass" if score>60 else "fail"

序列解包

name= "San Zhang"
firtname,lastname=name.split()

with语句

f=open("somefile","r")
s=f.read()
f.close()

with open("somefile","r")  as f:
    s=f.read()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yolo2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值