Python类学习(1)——构造方法、类变量&实例变量 、 类方法&实例方法

自学python类,这边是笔记总结

一、概念

1. 类&实例(class & instance)
实例
类比“飞机图纸”“ 飞机”
数量只有一个可以很多
形式class Person:a=Person()
2. 属性&方法(attribute & method)
属性方法
类比变量函数

定义属性和方法并调用的代码如下:

class Person:
	#attribute fields
	name='liufang'
	age=12
	#method
	def intro(self):
		print("Hi")
#Create an Object
p1=Person()
#Call the method
p1.intro() # Hi 
print(p1.age) # 12	
	
3. 构造方法

可以实现:

  • 在创建类对象的时候,将参数自动传入(并且必须要传入参数)
  • 在创建类对象的时候,会自动执行
  • 构造方法属于实例方法,必须在参数列表中提供self
  • 构造方法内定义成员变量,需要使用self关键字(self.name=name
class Person:
	def __init__(self,name,age):
		self.name=name
		self.age=age
		print("haha")
p1=Person('小红',11) #会输出haha
print(p1.age) # 11
4. 类变量 &实例变量
类变量实例变量
区别类变量用于类的所有实例共享的数据实例变量用于每个实例的唯一数据
class Person:
	skin='yellow'
	tricks=[]
	def __init__(self,name):
		self.name=name
	def add_trick(self,trick):
		self.tricks.append(trick)
p1=Person('小红') 
p2=Person('小王') 
print(p1.skin) # yellow
print(p2.skin) # yellow
p1.add_trick('run')
print(p2.tricks) # ['run']

由于skin是类变量,所以被p1和p2所共享,因此都输出yellow;

同样的因为tricks被p1和p2所共享,因此p1实例改变了tricks,p2输出tricks也会改变

b站相关教学视频

4. 类方法 &实例方法

实例可以用类变量和类方法,反之类却不能用实例变量和方法

类方法需要加@classmethod,参数需要输入cls

class Person:
	num=0
	def __init__ (self,name):
		self.name=name
	def getname(self):
		return f'学生:{self.name}'
	@classmethod
	def getnum(cls):
		return f'人数:{Person.num}'
p1=Person('小红') 
print(p1.getname()) # 学生:小红
print(Person.getnum()) # 人数:0

b站相关教学视频

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值