python-入门教程(二)
1、__name__属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
#!/usr/bin/python3 # Filename: using_name.py if __name__ == '__main__': print('程序自身在运行') else: print('我来自另一模块')
运行输出如下:
$ python using_name.py
程序自身在运行
$ python >>> import using_name 我来自另一模块 >>>
说明: 每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入。
2、类定义
class Test: def prt(self): print(self) print(self.__class__) t = Test() t.prt()
以上实例执行结果为:
<__main__.Test instance at 0x100771878> __main__.Test
说明:从执行结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。
类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
完整定义类举例如下:
#!/usr/bin/python3 # 类定义 class people: # 定义基本属性 name = '' age = 0 # 定义私有属性,私有属性在类外部无法直接进行访问 __weight = 0 # 定义构造方法 def __init__(self, n, a, w): self.name = n self.age = a self.__weight = w def speak(self): print("%s 说: 我 %d 岁,体重 %d 公斤。" % (self.name, self.age, self.__weight)) # 实例化类 p = people('runoob', 30, 80) p.speak()
以上输出:
runoob 说: 我 10 岁,体重 80 公斤。

浙公网安备 33010602011771号