• python-day16(类成员)


    一. 成员

      变量

        1. 实例变量. 对象.xxx = xxx  实例变量 >> 字段 >>属性. 给对象用的

        2. 类变量.  直接写在类中的变量就是类变量.  类变量一般用类名来访问.  对象中共性的属性提取出来.

     1 # 实例 变量
     2 # class Person:
     3 #     country = '中国'
     4 #     def __init__(self,name,age):
     5 #         self.name = name
     6 #         self.age = age
     7 # Person.country = '大清'
     8 # print(Person.country) #直接使用类名进行访问
     9 # p1 = Person('alex',30)
    10 # p1.country = '中国' #添加了一个实例变量
    11 # print(p1.country)
    12 
    13 # p2 = Person('wisir',145)
    14 # print(p2.name)
    15 # print(p2.country)
    16 #类变量的修改只能通过类名来完成
    View Code

      方法

        1. 实例方法.  对象.方法()

        2. 类方法.     类名.方法()

        3. 静态方法.  类名.方法()

     1 # 实例 方法
     2 # class Car:
     3 #     def run(self):
     4 #         print('会跑的车')
     5 #     def fei(self):
     6 #         print('会飞的车')
     7 #     def jump(self):
     8 #         print('you jump i jump')
     9 # c = Car()
    10 # c.fei()#调用实例方法
    11 # c.jump()
    12 # c.run()
    13 # -----------------
    14 # 类方法
    15 # class Lei():
    16 #     def chi(self):#实例方法
    17 #         print('吃')
    18 #
    19 #     @classmethod#类方法
    20 #     def he(cls): #cls类
    21 #         print(cls)
    22 #         print('类方法,he')
    23 #
    24 # print(Lei)
    25 # Lei.he()
    26 # p = Lei()
    27 #
    28 # p.chi()
    29 #
    30 # p.he() #不管用对象还是类去访问类方法,默认传递进去的是类
    31 # ----------------------------
    32 # 静态方法. 类名.方法()
    33 # class Stc():
    34 #     @staticmethod
    35 #     def fei():
    36 #         print('飞上天')
    37 # Stc.fei()
    View Code

      属性@property

        把方法转化成属性

        对象.属性

     1 # 属性
     2 # class User:
     3 #     def __init__(self,name,birthday,qq,email):
     4 #         self.name = name
     5 #         self.birthday = birthday
     6 #         self.qq = qq
     7 #         self.email = email
     8 #
     9 #     #方法
    10 #     @property
    11 #     def age(self):#可以把一个方法变成一个属性
    12 #         return 2018 - self.birthday
    13 # u = User('小黑',2016,9898982,'@qq')
    14 # print(u.age())
    View Code

    二. 私有

      __作为前缀

      在自己类中可以随意访问.  但是出了类任何人都不可以访问这个私有内容

     1 #私有
     2 class Person:
     3     def __init__(self,name):#构造,创建对象的时候自动调用
     4         self.__name = name #私有的
     5         print('这里是构造方法')
     6     def init(self):
     7         print('实例方法')
     8     def __chi(self): #私有的
     9         print('我要吃,疯狂的吃')
    10     def he(self):
    11         self.__chi() #内部调用
    12         print('我是喝',self.__name)
    13 p = Person('周杰伦')
    14 p.he()
    15 ## p.__init__('周杰伦')
    16 # p.init()
    17 # print(p.__name) #'Person' object has no attribute '__name'
    View Code
  • 相关阅读:
    java返回json数据日期为一串数字字符串 js 转义
    ==和equals以及hashcode
    【线程分析】
    【dubbo&zookeeper】
    线程安全实现方案
    IOC原理
    java锁
    java特殊运算符
    HashMap原理和TreeMap原理
    volatile与synchronized
  • 原文地址:https://www.cnblogs.com/Thui/p/9922681.html
Copyright © 2020-2023  润新知