python基础—面向对象


感觉和java相比一个是大公司,一个是小公司, 大公司规范有文档,小公司简约效率高


面向对象  
# 成员属性名称前 加上 __ 意为private
# get / set :  get_name()   set_name(name) 
class Student:
	def __init__(self, name, age):
		self.name = name
		self.age = age
		
	def detail(self):
		print(self.name)
		print(self.age)
      
class PrimaryStudent(Student):  # inherent
	def lol(self):
		print('can not win then run faster than others')

class CollegeStudent(Student):
	def __init__(self, name, age, gf):  # overrite构造函数
		self.name = name
		self.age = age
		self.gf = gf

	def gf_detail(self):
		print(self.gf)

obj1 = PrimaryStudent('小学生', 7)
obj1.lol()
obj1.detail()

obj2 = CollegeStudent('王思聪', 29, '张雨欣')
obj2.detail()
obj2.gf_detail()

print(dir(obj1))                            # class info as list
print(hasattr(obj1, 'name'))        # True
setattr(obj1, 'name', 'jack')  
print(getattr(obj1, 'name'))          # jack
print(getattr(obj1, 'name', 404))  # jack
fn = getattr(obj1, 'detail')             #7
fn()

#  实例属性和类属性
class Student(object):
	name = 'Student'
	def __init__(self, name):
		self.name = name   # 类属性
s = Student('Bob')
s.score = 90			   # 实例属性

print(s.name) 
s.name = 'Jack'          # 给实例属性绑定name属性, 实例属性优先级比类属性高 
print(s.name)              # Jack
print(Student.name)   # Student
del s.name                 # 删除实例name属性
print(s.name)             # Student


I'm fish, I'm on.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值