python初学(八)
2019年3月16日
………………………………………………………………….
全局变量和局部变量
x=2 //全局变量
def func():
x=9 //局部变量
print("this x is in the func:",x)
func()
print(".....................")
print("this x is out of func:",x)
结果如下:
this x is in the func: 9
.....................
this x is out of func: 2
…………………………………………
作用域:
Local:局部作用域(本地作用域)
Enclosing:嵌套作用域
Global:全局作用域
Built-in:内建作用域
命名空间:字符串的可见范围,不同的命名空间可以同时存在,彼此相互独立,互不干扰。查询时的从里到外的顺序(本地命名空间à局命名空间à内置命名空间)
…………………………………………………………………..
类:由某种特定的元数据所组成的内聚的包
编写类:
class person: //类名 """ 这是一个简单的类 """ def __init__(self,name): //初始化函数 self.name=name def get_name(self): return self.name def color(self,color): d={} d[self.name]=color return d
调用person类: if __name__ == "__main__": girl=person("canglaoshi") print(girl.name) name=girl.get_name() print(name) her_color=girl.color("white") print(her_color)
类属性:
>>>class A: //交互模式下创建一个类A
… x=7 //x是类A的性质,值为7
…
>>>A.x
7
>>>del A.x //删除A的x属性
__name__:以字符串的形式返回类的名字
__doc__:显示类的文档
__base__:类C的所有父类
__dict__:以字典的形式显示类的所有属性
__module__:类所在的模块
………………………………………………………………………………
创建实例:
>>> class girl:
... x=9
...
>>> can=girl()
>>> can
<__main__.girl object at 0x0077FB50>
……………………………………………………………..
继承:OOP的三个特征:多态、继承、封装——是类的重要内容
单继承:子类C继承了父类,就把父类中的初始化函数拿到了子类里面
>>>class p:
pass
>>>class C(p)
pass
>>>C.__base__
<class ‘__main__.p’>
多重继承:继承可以来自多个父类,这就是多重继承
class person(): def eye(self): print("2 eyes") class girl: age = 28 def color(self): print("the girl is white") class hotgirl(person,girl): pass if __name__ =="__main__": kong=hotgirl() kong.eye() kong.color() print(kong.age)
结果如下:
2 eyes
the girl is white
28
因为类hotgirl继承了类person和girl,所以kong可以使用eye()和color()