python中的类

发布时间:2019-07-29 10:29:05编辑:auto阅读(1368)

    关键字:class
    含义:带有某些属性和方法的一个集合,可以理解成模板。

    object的概念:类的实例。以对应类为模板,创建出来的对象。

    如何理解python中的self?
    1 实例本身,对象。
    2 可以理解为一个字典变量,内部存的就是对象的数据属性。

    在类的代码(函数)中,需要访问Instance中对应的变量(属性),读取之前的值和写入新的值调用对应函数(function)执行对应的动作需要访问实例的变量和调用实例的函数,Python中规定函数的第一个参数,必须是实例对象本身,即self。

    PS:类中函数的第一个参数固定为self就可以了。

    如何理解python中的init()?
    这是python的构造方法。类似于init()初始化方法,用来初始化新创建对象状态,在一个对象创建以后立即调用,比如实例化一个类。

    示例代码如下:

    import datetime
    
    class User:
        """存储用户信息"""   //帮助信息,可用help(class_name)查看
        def __init__(self,full_name,birthday):     //用于初始化方法,实例化对
            self.name=full_name                            //象可以直接调用方法中的值
            self.birthday=birthday 
            name_splits=full_name.split(' ')
            self.first_name=name_splits[0]
            self.last_name=name_splits[-1]
    
        def age(self):                                          //用了self后,类中方法可以调
            """计算用户的年龄"""                         //用实例中的变量
            today=datetime.date(2020,1,1)
            years=int(self.birthday[0:4])
            mouths=int(self.birthday[4:6])
            days=int(self.birthday[6:8])
    
            birth_data=datatime.data(years,mouths,days)
            how_old_in_days=(today-birth_data).days
            how_old_in_years=how_old_in_days/365
    
            return int(how_old_in_years)
    
    user1=User1('Wang Feng','20091010')    //类的实例化,
    
    print(user1.name)   //对象调用类中变量
    print(user1.age())   //对象调用类中的方法

关键字