Python类的基础--设计、使用( 二 )
【Python类的基础--设计、使用】类名.类变量cls.类变量
从print_variety函数可以看出 , 在类的内部可以通过类调用类的方法函数 。
类名.类方法
4).用@staticmethod修饰的print_ci函数是静态函数 , 它的第一个参数不是特殊的self或者cls , 静态函数可在类内部或类的外部调用 , 也可被类的对象调用 。
创建对象面向对象编程实际是在设计好类以后 , 用与类同名的函数来创建类的对象 , 用类的对象调用对象的方法函数来编写整个程序 , 有时可能根据需要少量地用类调用类方法的语句代码出现 , 一般都是对象调用类里设计好的对象方法函数来完成整个程序的功能 , 故称面向对象编程 。
创建类的实例对象的语法:
变量 = 类名([参数序列])
通过这样的方式创建类的实例对象本质是调用了类里的_ _ init_ ()方法函数 , 括号里的[参数序列]意思是看 _ init_ _()方法函数是否有除self外的其他形参 , 如无 , 换括号里没有任何实参 。
需要特别说明的是任何实例对象的self形参不用赋值 , 在Python解译执行程序语句时self代表点儿运算符(.)前的实例对象 , 或者说self被Python赋值为点儿运算符前的实例对象 。
a = Horse(sex = "male")b = Horse(name = "marong", sex = "female")
面向对象编程示例面向对象编程 , 需要两步 , 第一步先设计好类 , 第二步基于类创建对象并通过对象调用函数来完成整个程序需要实现的功能 。 下面是本节课设计的一个Horse类的面向对象程序设计的完整示例 。
# coding:utf-8class Horse(object):variety = "大宛马"def __init__(self, name = "green", height = 0.5, length = 1.3, sex = "male"):# self.name是成员变量 , name是形参、局部变量self.name = nameself.height = heightself.length = lengthself.sex = sexprint "A baby horse is born called", self.namedef print_info(self):print self.name, self.height, self.length, self.sex, Horse.variety#,Horse.addressHorse.print_variety() # 在对象方法里通过类调用类方法 , 避免Horse().print_ci(200, 100)# 对象调用静态方法Horse.print_ci(200, 100) # 类调用静态方法@staticmethoddef print_ci(x, y):print x, y@classmethoddef pp(cls):# 类使用类变量print cls.variety, Horse.variety, cls.address#cls.print_variety()print Horse().name# 对象使用对象的成员变量@classmethoddef print_variety(cls):cls.address = "xi'an"print "type", type(cls.address)print cls.variety, Horse.variety, cls.addressHorse.pp()# 类调用类方法Horse().print_ci(100, 100)# 对象调用静态方法a = Horse("xiaoxuanfeng")b = Horse("pilihuo", sex = "female")a.print_info()b.print_info()Horse.print_variety()print "*" * 20Horse.pp() # 类调用类方法Horse.print_ci(12, 23)# 类外类调用静态方法a.print_ci(23, 31) # 类外对象调用静态方法
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 行业|现在行业内客服托管费用是怎么算的
- 人民币|天猫国际新增“服务大类”,知舟集团提醒入驻这些类目的要注意
- 国外|坐拥77件专利,打破国外的垄断,造出中国最先进的家电芯片
- 技术|做“视频”绿厂是专业的,这项技术获人民日报评论点赞
- 面临|“熟悉的陌生人”不该被边缘化
- 中国|浅谈5G移动通信技术的前世和今生
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面