python之面向对象,python是面向对象吗,(一)构造方法和实例
python之面向对象,python是面向对象吗,(一)构造方法和实例
(一)构造方法和实例方法
__init__() 为构造方法,第一个参数必须为 self 参数。
self 代表该方法的调用者,即谁在调用该方法,那么 self 就代表谁。
类里面的jump()和run()方法为实例方法。
代码:
1 class Dog: 2 def __init__(self): 3 print(self,"在调用构造方法") 4 # 定义一个jump()方法 5 def jump(self): 6 print(self,"正在执行jump方法") 7 # 定义一个run()方法,run()方法需要借助jump()方法 8 def run(self): 9 print(self,"正在执行run方法")10 # 使用self参数引用调用run()方法的对象11 self.jump()12 dog1 = Dog()13 dog1.run()14 dog2 = Dog()15 dog2.run()
结果:
<__main__.Dog object at 0x00000276B14B12B0> 在调用构造方法<__main__.Dog object at 0x00000276B14B12B0> 正在执行run方法<__main__.Dog object at 0x00000276B14B12B0> 正在执行jump方法<__main__.Dog object at 0x00000276B14B1F28> 在调用构造方法<__main__.Dog object at 0x00000276B14B1F28> 正在执行run方法<__main__.Dog object at 0x00000276B14B1F28> 正在执行jump方法
(二)类属性和实例属性
(1)类变量
类变量推荐直接用类名访问,但也可以使用对象名访问。
代码:
1 class Address: 2 detail = ‘广州‘ 3 post_code = ‘510660‘ 4 5 def info(self): 6 # 尝试直接访问类变量 7 # print(detail) # 报错 8 # 通过类来访问类变量 9 print(Address.detail) # 输出 广州10 print(Address.post_code) # 输出 51066011 12 13 # 创建 2 个类对象14 addr1 = Address()15 addr1.info()16 addr2 = Address()17 addr2.info()18 # 修改Address类的类变量19 Address.detail = ‘佛山‘20 Address.post_code = ‘460110‘21 addr1.info()22 addr2.info()23 24 #动态地为类和对象添加类变量25 Address.depict = "佛山很美"26 print(addr1.depict)27 print(addr2.depict)
结果:
广州510660广州510660佛山460110佛山460110佛山很美佛山很美
(2)实例变量
实例变量只能通过对象名访问,无法通过类名直接访问。
代码:
未完待续 剩下的明天学
python之面向对象
相关内容
- python 面向对象,python面向对象编程思想,一. 面向对象的
- python不同目录间模块调用,python模块调用,前置:sys.p
- python序列类型及一些操作,python序列,序列分类1.按存放
- Python_Virtualenv及Pycharm配置,env是,Virtualenv
- python 面向对象的程序设计,python类和对象理解,1.类与实
- Python vtk学习(1),,Vtk,(visua
- python启停脚本的编写,怎么用python写脚本,先占个位置,
- Python之Cubes框架使用,什么是框架,本文主要内容包含
- Python学习记录——Ubuntu(二)用户和用户组,,1.etc文件
- #5 Python变量与输入输出,,前言学习一门编程语言
评论关闭