1、全局变量与局部变量
全局变量与局部变量两者的本质区别就是在于作用域
用通俗的话来理解的话,
全局变量是在整个py文件中声明,全局范围内都可以访问;
局部变量是在某个函数中声明的,只能在该函数中调用它,不能在超出范围的地方调用;
如果在函数内部定义与某个全局变量一样名称的局部变量,在函数内部对全局变量的修改后,修改的结果是无效的,全局变量并不会受到影响;
如果真的想要在函数体内修改全局变量的值,就要使用global关键字,使用global关键字就是告诉python编译器这个变量不是局部变量而是全局变量,其实有点像是"引用"的意思。
2、定制类
看到类似__slots__
这种形如__xxx__
的变量或者函数名就要注意,这些在Python中是有特殊用途的。
3、python super().__init__()
#描述字段的字段名,数据类型,键信息,默认值 class Field(object): def __init__(self, name, column_type, primary_key, default): self.name = name self.column_type = column_type self.primary_key = primary_key self.default = default # 输出数据表的信息:类名,字段类型,名字,是【定制类】,打印类实例!!! def __str__(self): return '<%s, %s:%s>' % (self.__class__.__name__, self.column_type, self.name) # 字符串类型字段,继承自父类Field class StringField(Field): def __init__(self, name=None, primary_key=False, default=None, ddl='varchar(100)'): super().__init__(name, ddl, primary_key, default) strField = StringField('Bill') print(strField)
输出:
<StringField, varchar(100):Bill>
4、变量
在Python中,变量名类似__xxx__
的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name__
、__score__
这样的变量名。
有些时候,你会看到以一个下划线开头的实例变量名,比如_name
,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。