初始化函数用法 :
def __init__(self,变量1,变量2,变量3):
#初始化属性
self.属性1=变量1
self.属性2=变量2
self.属性3=变量3
初始化传入的值想要被其他方法调用,就要把这些值赋值给对象,也就是self.属性名,,只有赋值给对象的属性才能被其他方法调用,(也可以赋值给类,这样的话对象和类都可以调用如类名.属性名)
注意:
对象属性只能被对象调用,类属性,既可以被对象调用,也可以被类调用,因为对象就是类的实例化
初始化参数,如果没有给默认值时,实例化对象的时候必须给初始化赋值
# -*- coding: UTF-8 -*-
#@Time :2019/09/08 11:23
#@Author :wuailexiang
class Phone:
”’
这是一个手机类
主要功能有,打电话,发短信,看电视,听音乐
主要属性有,华为,3000,土豪金,android
”’
#通过初始化函数__init__把属性进行初始化
def __init__(self,brand_name,price,color,os):#可以给初始化参数进行默认值
self.brand_name =brand_name
self.price=price
self.color= color#把参数赋值给对象,只能用对象调用
Phone.os = os#把参数赋值给类,既可以用类调用也可以用对象调用
#功能,定义了几个方法
def call(self,name):
print(‘我的功能是打电话,我给{}打电话’.format(name))
@staticmethod
def massage(*arge):
print(‘我的功能是用来发短信的,我的短信内容是{}’.format(arge))
@classmethod
def watchTV(cls):#类方法,在类方法中调用对象方法,需要类名().方法名(),调用静态方法直接类名.方法名()
print(‘我的功能是看电视的’)
@classmethod
def music(self,music_name=’天堂’):
print(‘我的功能是用来听音乐的,我听的歌曲是{}’.format(music_name))
def calss_info(self):#对象方法
print(‘我的手机是{}手机,颜色是{},是{}系统,价格是{}元’.format(self.brand_name,self.color,self.os,self.price))
#调用类
p=Phone(‘华为’,3500,’土豪金’,’android’)# 调用类需要在类的后面加一个括号
p.call(‘张三’)
p.calss_info()
如果静态函数和类方法没有用到参数中的值,就可以直接用类名.方法名()调用,不需要创建对象,也就不需要传参数了
# -*- coding: UTF-8 -*-
#@Time :2019/09/08 11:23
#@Author :wuailexiang
class Phone:
”’
这是一个手机类
主要功能有,打电话,发短信,看电视,听音乐
主要属性有,华为,3000,土豪金,android
”’
#通过初始化函数__init__把属性进行初始化
def __init__(self,brand_name,price,color,os):#可以给初始化参数进行默认值
self.brand_name =brand_name
self.price=price
self.color= color#把参数赋值给对象,只能用对象调用
Phone.os = os#把参数赋值给类,既可以用类调用也可以用对象调用
@staticmethod
def massage(*arge):
print(‘我的功能是用来发短信的,我的短信内容是{}’.format(arge))
Phone.massage(‘今天周末明天又要上班’)