Python学习笔记——更多语法(双下划线“dunder”、__name__、函数修饰符@、括号前的逗号)

dunders__与wonder_

  • 在Python中,一个名字的前缀和后缀为双下划线,称为“ dunder name"
    由于 Python中大量使用了双下划线,它们统称为“ dunders”
  • 还有一个约定是使用单个下划线字符作为某些变量名的前缀。一些 Python程序员把有单下划线前缀的名字称为“ wonder”(“ one underscore”的简写)。

例如,__name__值由 Python解释器维护,在程序代码中的任何地方使用这个值时,它会设置为当前活动模块的名字(指出当前活动的命名空间)

下面的代码在很多Python程序中出现

#这行代码被昵称为"dunder name dunder main"
if __name__ == '__main__':#如果代码是被导入的,则if语句为False
	...

这个语句用于判断当前的活动命名空间是否为__main__(从而在不同情况下执行不同操作):

  • 如果代码直接由 Python执行,活动命名空间是__main__, .py中的这个if语句会返回True
  • 如果程序作为一个模块导入,__name__的值就是所导入的模块的名字,if语句返回False

函数修饰符@

引入一个新的 Python语法:修饰符( decorator),其灵感来源于Java的注解语法

  • 修饰符有一个@前缀
  • 本质上讲,修饰符允许你根据需要为已有的一些代码增加额外的行为。修饰符不仅可以用于函数,也可以用来修饰类
  • 但修饰符还是主要用来修饰函数,所以大多数 Python程序员把它们称为函数修饰符
  • 函数修饰符可以调整一个现有函数的行为,而无需修改这个函数的代码(函数得到修饰)
  • Python提供了内置修饰符,其他一些第三方模块提供修饰符,用户也能自定义修饰符
    例如,使用第三方Flask模块的route修饰符
    @app.route('/')
    这里,URL"/"将与下一行代码中定义的函数关联,当一个指向“/”URL的请求到达服务器时, route修饰符会安排Flask web服务器调用这个函数,并将函数输出返回给服务器。

允许有结尾的逗号,

Python中,调用函数或创建列表时,结尾括号前的逗号是可选的
结尾的逗号能够极大的方便我们扩展参数或导入项的列表:将各个参数单独放在一行上,始终添加结尾的逗号

例如下面的写法在Python中是允许的

self.call(
    1,
    True,
    "hi",
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值