一、类与对
- 类:属性、动作(具有共同的属性,共同的动作)
- 对象:每个类下面的实例
- 语法: 关键字 class 函数 def
- 类的语法: class 类名 #顶格写 见名知意 驼峰命名(printName)
属性
函数
- 举例---->创建一个对象/实例化
换件实例: a = 类名() #那么a就是一个对象
#语法
class giilFriend:
# 属性
name = "追求"
age = 12
car =1
def earn_money(self): # 与普通函数的区别? 有一个关键字 self
print("会赚钱")
def cooking(self):
print("做超级多的饭")
# 实例化
gril_firend = giilFriend()
print(gril_firend.name)
print(gril_firend.age)
print(gril_firend.cooking())
控制台输出:
追求
12
做超级多的饭
None
- 操作注意:
- a.类里面的属性,和函数只能是类的实例去调用,不能单独调用--->局部变量
- b.调用属性的方法:实例名.属性名
- c.调用函数的方法:实例名.函数名
- d.类里面的函数调用类里面的属性:需要加一个关键字“self.属性名”
#语法
class giilFriend:
# 属性
name = "追求"
age = 12
car =1
def earn_money(self): # 与普通函数的区别? 有一个关键字 self
return("会赚钱")
def cooking(self):
return("做超级多的饭")
# 实例化
gril_firend = giilFriend()
print(gril_firend.name)
print(gril_firend.age)
print(gril_firend.cooking())
控制台输出:
追求
12
做超级多的饭
- 可以进行传参:传参和以前的传参一致
#语法
class giilFriend:
# 属性
name = "追求"
age = 12
car =1
def earn_money(self,money): # 与普通函数的区别? 有一个关键字 self
return("会赚钱%s" %money)
def cooking(self):
return("做超级多的饭")
# 实例化
gril_firend = giilFriend()
print(gril_firend.name)
print(gril_firend.age)
print(gril_firend.cooking())
print(gril_firend.earn_money(30000))
控制台输出:
追求
12
做超级多的饭
会赚钱30000
- 类里面的函数调用类里面的属性与函数:需要加一个关键字“self.属性名 self.函数名”
class giilFriend:
# 属性
name = "追求"
age = 12
car =1
def earn_money(self, money): # 与普通函数的区别? 有一个关键字 self
return ("会赚钱%s" % money)
# 函数
def cooking(self):
return ("做超级多的饭")
def get_name(self):
return ("女朋友的名字%s" %self.name) #类里面的函数调用类里面的属性
def get_cooking(self):
return ("做了多少饭:%s" %self.cooking()) # 类里面的函数调用类里面的函数
def get_money(self, n1):
return ("转了好多钱: %s" %self.earn_money(n1)) #类里面的函数调用类里面可以传参的函数
# 实例化
gril_firend = giilFriend()
print("1:", gril_firend.name)
print("2:", gril_firend.age)
print("3:", gril_firend.cooking())
print("4:", gril_firend.earn_money(30000))
print("5:", gril_firend.get_name())
print("6:", gril_firend.get_cooking())
print("7:", gril_firend.get_money(2000))
控制台输出:
1: 追求
2: 12
3: 做超级多的饭
4: 会赚钱30000
5: 女朋友的名字追求
6: 做了多少饭:做超级多的饭
7: 转了好多钱: 会赚钱2000
class giilFriend:
name = "追求"
age = 12
def earn_money(self, money): # 与普通函数的区别? 有一个关键字 self
return ("会赚钱%s" % money)
def get_name(self, name):
return ("女朋友的名字%s" %name)
def get_money(self, n1, name): # 传参与调用
name2 = self.get_name(name)
print(name2)
return ("转了好多钱: %s" %self.earn_money(n1))
# 实例化
gril_firend = giilFriend()
print("%s" %gril_firend.name)
print(gril_firend.get_money(7000, '那兔'))
控制台输出:
追求
女朋友的名字那兔
转了好多钱: 会赚钱7000
练习题:
创建一个车子类: 属性:价格 颜色 品牌 技能:上山 下海 上天
class car:
price = 100000
color = 'green'
brand = '大众'
def skill_01(self, s1):
return ("技能1:%s" %s1)
def skill_02(self, s2):
return ("技能2:%s" % s2)
def skill_03(self,s1,s2):
ski_1 = self.skill_01(s1)
ski_2 = self.skill_02(s2)
return ("终极技能:劳资能上天,%s" %(ski_1+ski_2))
mycar = car()
print("我的车子的价格是%s" % mycar.price, "颜色是%s" % mycar.color, "品牌是%s" % mycar.brand)
print("我的车子贼6呢:%s!!!" % mycar.skill_03("劳资可以上刀山", "劳资可以下火海"))