10、Python3 实战之ORM

10、Python3 实战之ORM

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)

 

输出:

4、变量

在Python中,变量名类似__xxx__的,也就是以双下划线开头,并且以双下划线结尾的,是特殊变量,特殊变量是可以直接访问的,不是private变量,所以,不能用__name____score__这样的变量名。

有些时候,你会看到以一个下划线开头的实例变量名,比如_name,这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问”。

 

 

posted on 2018-03-21 19:22 Hello _ world 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zwb8848happy/p/8619067.html

你可能感兴趣的:(10、Python3 实战之ORM)