py 3.8 新特性

在公司划水划得要死,前辈们忙,没时间给我安排任务,,,,就前天让我写了个超简单的脚本,然后我就没事了,自由活动,一顿瞎看。。。

 

海象运算符

新增的语法 := 可在表达式内部为变量赋值。 它被昵称为“海象运算符”因为它很像是 海象的眼睛和长牙

在这个示例中,赋值表达式可以避免调用 len()两次:

原写法

a = "dfssdadfsadfafasf"
len_a = len(a)
if len_a > 10:
    print(f"结果是{ len_a }")
else:
    print("fuck down")

海象运算符

a = "sdfaadfafasf"
if len_a := len(a) > 10:
    print(f"结果是{ len_a }")
else:
    print("fuck down")


返回结果
结果是True
a = "sdfaadfafasf"
if (len_a := len(a)) > 10:
    print(f"结果是{ len_a }")
else:
    print("fuck down")



结果是12

值得注意,不加括号的话返回的的True,正常情况要加括号。

 

f'{}'新的东西

import datetime


time = datetime.datetime.now()
print(time)
print(f'{time=!s}')
# 转为字符串,虽然没啥卵用


import math

print(f'{math.pi=:.6f}')
""""
2020-01-15 18:09:37.678843
time=2020-01-15 18:09:37.678843
math.pi=3.141593
"""

 

 

仅限位置形参

新增了一个函数形参语法 / 用来指明某些函数形参必须使用仅限位置而非关键字参数的形式。

在下面的例子中,形参 a 和 b 为仅限位置形参,c 或 d 可以是位置形参或关键字形参,而 e 或 f 要求为关键字形参:

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)


f(10, 20, 30, 45, e=50, f=60)
"""
f(10, b=20, c=30, d=40, e=50, f=60)   # b cannot be a keyword argument
f(10, 20, 30, 40, 50, f=60)           # e must be a keyword argument
"""

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值