被python折磨的第四天

2019.8.19
面向对象编程基础
把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritence)实现类的特化(specialization)和泛化(generalization),通过多态(polymorphism)实现基于对象类型的动态分派
一、类和对象
对象是类的实例。一切皆为对象,对象都有属性(静态特征)和行为(动态特征)。
二、定义类
关键字 class

class Student(object):
	#__init__是一个特殊方法用于在创建对象是进行初始化操作
	#通过这个方法我们可以为学生对象绑定name和age两个属性
	def __init__(self,name,age):
		self.name = name
		self.age = age
	def study(self,course_name):
		print('%s正在学习%s.'(self.name,course_name))
说明: 写在类中的函数,我们通常称之为(对象的)方法,这些方法就是对象可以接收的的信息

三、创建和使用对象

class class_name(object):
	def __init__((self):
		self.a = 1000
	def A(self):
		print('Karry Roy Jackson')
if __name__ == "__main__":
	Joker = class_name() #()相当于走了初始化__init__
	Joker.A()     #类中调用需要使用“.”
	print(Joker.a)
(base) C:\Users\Administrator>F:/install/Anaconda/python.exe d:/VScode/Untitled-Mon1.py
Karry Roy Jackson
1000	

四、访问可见性问题
在Python中,属性和方法的访问权限只有两种,也就是公开的和私有的,如果希望属性是私有的,在给属性命名时可以用两个下划线作为开头,下面的代码可以验证这一点。

class Test:
	def main():
	    test = Test('hello')
	    # AttributeError: 'Test' object has no attribute '__bar'
	    test.__bar()   #私有属性
	    # AttributeError: 'Test' object has no attribute '__foo'  #私有属性
	    print(test.__foo)

if __name__ == "__main__":
    main()

五、面对对象的支柱
面向对象有三大支柱:封装、继承和多态

课堂练习
打印进度条
在这里插入图片描述
读取文件中大写字母个数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值