十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、 定义一个特殊的 __slots__ 变量,来限制该class实例能添加的属性
成都创新互联是一家专注于成都网站建设、网站设计与策划设计,台江网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:台江等地区。台江做网站价格咨询:13518219792
2、 内置的 @property(关键字) 装饰器就是负责把一个方法变成属性调用的。@property.setter(这里的property是类里面的属性名)负责把一个setter方法变成属性赋值。
3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()
位置参数适合参数少的情况,当参数较多时,位置容易存错。
关键词参数适合参数较多时,通过指定关键词来存。
混搭时应注意先放位置参数后放关键词参数,否则会出现语法错误。语法上允许混搭,但尽量不要采用。
d在*的前面,可以作为位置参数,不用指定关键词,*后面必须指定关键词,可以混搭。
一旦设置默认值,可以不传它;但也可以继续传入,传了多少就是多少。默认参数需要注意,现房非默认参数再放默认参数。
当参数是多个时,可以在变量前面加*,表示零到无穷多个位置参数,传入的参数会被合并为一个元组,若需要破开元组,只需要在元组前面加上*。注意要先固定参数再可变参数。
在变量前加**,表示可变参数是关键词参数,在调用时必须用键值对来调用。
顺序必须是:必选参数、默认参数、可变位置参数、命名关键字参数和可变关键字参数。
/ 前面一定为位置参数
文章知识点与官方知识档案匹配,可进一步学习相关知识!!!
参数match是正则表达式匹配后的结果,match.group(1)就是返回结果1。
import re
m = re.search('(^.+?)\n(.+?$)', 'print "111"\nprint "222"')
print m.group(1)#print "111"eval()一般是用来执行字符串代码,也就是命令注入。
其中的参数code:就是要执行的代码,比如print
"111"
其中的参数scope:是code执行范围的字典.
由于匹配的字符串代码经常有格式对齐等问题,所以加一个try
except来捕捉。
exec跟eval类似,可以执行代码,但是只是一个语法,没有返回值。
exec
code
in
scope就是执行code作用范围为scope字典