一.摘要
类:类似于一个模型,具有抽象意义的模型
人(类)的特征
名字:名字是什么? 类属性
性别:性别是什么?
肤色:肤色是什么?
爱好:爱好是什么?
二.类的定义
代码如下:
Bash
#定义一个类:class 类名
class People: #python3以后定义一个类的时候可以不加括号
name="nice " #类属性
sex="boy" #类属性
age=9 #类属性
print(People.name)
print(People.sex)
print(People.age)
运行结果:
三.修改属性
代码如下:
Bash
class People:
name="nice "
sex="boy"
age=9
print(People.name)
print(People.sex)
#如果类里面有这个属性,就覆盖,没有就添加
print("修改前的年龄",People.age)
People.age += 10
print("修改后的年龄",People.age)
People.hello="hello"
print(People.hello)
运行结果:
实例化类:
代码如下:
Bash
class People:
name=""
sex=""
age=""
time="3年"
p1=People() #制造
p1.name="good1"
p1.time="10年"
p2=People() #制造
p2.name="good2"
print(id(p1),id(p2))
print(p1.name,p1.time)
print(p2.name,p2.time)
运行结果:
四.添加功能
代码如下:
Bash
class People:
time="3年" #使用时间
#功能1 类方法(函数)
gn1_num=0 #当前使用次数
def gn1(self): #People==self
self.gn1_num += 1 #People.gn1_num += 1
p1=People()
print("调用gn1方法前使用的次数:",p1.gn1_num)
p1.gn1() #类方法调用时,self参数不用管
print("调用gn1方法后使用的次数:",p1.gn1_num)
运行结果:
实例化类:
代码如下:
Bash
class People:
time="3年" #使用时间
#功能1 类方法(函数)
gn_num=0 #累计次数
def gn1(self): #People==self
self.gn_num += 1 #People.gn1_num += 1
return "功能1执行中..."
#功能2
def gn2(self):
self.gn_num += 1
return "功能2执行中..."
#功能3 选择对应功能
def other(self,str1):
if str1=="功能1":
print("功能1执行中")
a=self.gn1()
print(a)
return "功能1执行成功"
elif str1=="功能2":
print("功能2执行中")
d=self.gn2()
print(d)
return "功能2执行成功"
p1=People()
print("调用other方法前使用的次数:",p1.gn_num)
b=p1.other("功能1") #类方法调用时,self参数不用管
print(b)
print("调用other方法后使用的次数:",p1.gn_num)
c=p1.other("功能2")
print(c)
print("调用other方法后使用的次数:",p1.gn_num)
运行结果:
五.构造方法
代码如下:
Bash
#init初始化类属性
class People:
#在实例化的时候就会默认执行该方法
def __init__(self,id,num):
self.id=id
self.num=num
def get_id(self):
print("get_id方法",self.id,"num值:",self.num)
return self.id
#实例化类的时候就传递参数定义一个属性
a=People("10086","aaa")
print(a.id)
data=a.get_id()
print(data)
运行结果: