qingrc
# -*- coding: utf-8 -*-
# @Time    : 2019/7/29 10:28
# @Author  : Qingr、C
# @FileName: learn_0729_初始化函数.py
# @Software: PyCharm

#类属性即可以通过类访问,也可以通过对象去访问
#对象属性,只能通过对象访问
#对象拥有 类里面所有属性和方法的访问权

class Phone:
    \'这个类是手机类,专门标记手机的属性和功能\'
    #初始化函数__init__()  ,作用:属性参数化,属性参数化的做法:通过初始化函数进行传参
    #有两中赋值方式,一种是赋值给类,如:Phone.brand_name=brand_name 后面调用的时候通过类去访问
    #另外一种是赋值给对象,如:self.brand_name=brand_name 后面调用的时候,通过对象去访问
    def __init__(self,brand_name,price,os,color,size):   #用init函数传以下5个参数
        self.brand_name=brand_name #品牌名  赋值给对象属性方便后面调用。对象属性:只能通过对象去调用
        # Phone.price=price           #价格 赋值给类
        self.price=price
        self.os=os                 #操作系统
        self.color=color           #颜色
        self.size=size             #尺寸

    def call(self,name=\'毛爷爷\'):   #位置参数name
        # #在这里面如何调用属性
        print(self.price)  #类属性即可以通过类访问,也可以通过对象去访问
        print(self.brand_name) #对象属性,只能通过对象访问
        print(Phone(\'苹果\',\'6600\',\'ios\',\'red\',\'6.0\').brand_name)
        print(\'可以打电话给{}\'.format(name))
        # return 666       #return的结果会自动打印出来,而作为脚本单独运行时则需要print函数才能显示。

    @staticmethod  #静态方法
    def send_message(name=\'qiyue\'):   #默认参数
        print(\'可以发短信给{}\'.format(name))

    @classmethod   #类方法
    def watch_vedio(cls,*args): #动态参数
        print(\'可以看{}\'.format(args))

    def phone_info(self):
        # 对象方法只能那个通过 类和对象可以直接访问,并且获得他们的值,
        #但是这里把属性赋值给对象后,就必须要通过对象去访问,所以不能通过类进行访问
        print(\'手机的品牌是{},价格是{},颜色是{},尺寸是{}\'.format(self.brand_name,self.price,self.color,self.size))

if __name__ == \'__main__\':
    Phone(\'苹果\',\'6600\',\'ios\',\'red\',\'6.0\').call(\'李现\')   #Phone()创建对象 如果使用初始化参数,那么在创建对象时,必须要传参
    Phone(\'苹果\', \'6600\', \'ios\', \'red\', \'6.0\').phone_info()
    Phone.send_message(\'\')    #这个函数和属性没关系,所以使用静态函数,在调用的时候不用传参
    Phone.watch_vedio(\'哪吒\')

 

分类:

技术点:

相关文章: