• python学习第十六天


    ###   成员   ###
    一、变量:
    1.实例变量 :

    2.类变量 :
    直接写在类下面的叫类变量;
    直接使用类名进行访问;
    把对象中的共性的属性提取出来
    类变量的修改只能类名来完成;

    练习
    class Person():

    country = '中国' # 直接写在类下面的叫类变量;
    def __init__(self, name, age):
    self.name = name
    self. age = age

    print(Person.country) # 直接使用类名进行访问;

    Person.country = '中华人民共和国' # 类变量的修改只能类名来完成;
    print(Person.country)

    p1 = Person('Euan', 22)
    p1.country = '中华' # 添加一个实例变量,无法修改类变量
    print(p1.name)
    print(p1.country)

    二、方法

    1.实例方法:
    调用实例方法:
    例:
    class Lol():
    def hero(self):
    print('阿卡丽')
    h = Lol()
    h.hero() # 调用实例方法

    2.类方法:
    类方法的调用:类名.方法
    在实例方法上面写 :@classmethod 就是类方法
    不管用对象还是类去访问类方法,默认传递进去的是类

    练习
    class Person():

    # 实例方法
    def chi(self):
    print('吃')

    # 类方法
    @classmethod # 类方法
    def he(cls): # cls 类
    print('喝')
    # 用类去访问
    Person.he()
    # 用对象去访问
    p = Person()
    p.he() # 不管用对象还是类去访问类方法,默认传递进去的是类

    3.静态方法:
    类方法的调用:类名.方法
    在实例方法上面写 :@staticmethod 就是静态方法
    实际上就是在类中定义一个普通函数

    三、属性

    在实例方法上面写 :@property 就是属性
    函数只能有一个self参数
    需要有返回值
    不能赋值
    调用时后面不需要加括号()

    练习:
    class User():
    def __init__(self, name, birthday, phone):
    self.name = name
    self.birthday = birthday
    self.phone = phone

    @property # 把一个方法变成属性
    def age(self):
    return (2018 - self.birthday)
    u = User('Euan', 1996, '13168783010')
    print(u.age) # 调用时后面不需要加括号()


    ### 私有 ###
    __作为前缀
    在自己类中可以随意访问,但跳出类任何人都不可以访问这个私有内容
  • 相关阅读:
    关于group by【转载】
    Hive常用命令
    Hive学习笔记【转载】
    Java多线程的join()
    Java多线程编程
    把struts2-convention-plugin丢进太平洋
    关于unsigned int和int的加法
    C#高级参数out,ref,params
    Winform禁止程序多开 &&禁止多开且第二次激活第一次窗口
    .NET对象与Windows句柄(三):句柄泄露实例分析
  • 原文地址:https://www.cnblogs.com/EuanXu/p/9922611.html
Copyright © 2020-2023  润新知