zoukankan      html  css  js  c++  java
  • 对象属性与类属性

     1 # 1、直接写在class中的属性叫类属性(可以通过类名直接调用)。
     2 # 调用类属性:类名.类属性名  或 对象.属性名
     3 
     4 class Person():
     5     # 写在class中的属性叫类属性
     6     name = "lily"
     7     def __init__(self, name, age):
     8         # 写在init中,使用self.的属性称之为对象属性
     9         # self.name = "lily's mother"
    10         self.age = age
    11 
    12 # 1、调用类属性:类名.类属性名  或 对象.属性名
    13 print(Person.name)
    14 
    15 per1 = Person("lucy", 12)
    16 print(per1.name)
    17 # per1.name = "llllllll"
    18 # print(per1.name)
    19 
    20 per2 = Person("lilei", 23)
    21 # 2、调用对象属性:对象.属性名
    22 print(per2.age)
    23 # print(Person.age) # 错误
    24 
    25 # 3、对象属性的优先级高于类属性
    26 # 当使用对象调用属性时,如果存在对象属性,那么使用对象属性的值,
    27 # 如果没有对象属性,那么会去使用同名的类属性的值,如果没有同名类属性,
    28 # 返回一个错误。
    29 per3 = Person('a', 12)
    30 print(per3.name)   #
    31 
    32 # 4、删除对象属性   del 对象名.属性名
    33 # 当删除的对象时,该对象属性不能再使用,如果后期还是使用对象调用该属性时,
    34 # 会去查找有没有同名的类属性,有则使用的是类属性,没有则返回错误
    35 print('--------------------------------')
    36 per4 = Person("abc", 34)
    37 print(per4.name)  # mother
    38 
    39 # del per4.name
    40 # print(per4.name)   # lily
    41 
    42 # del per4.name   # 对象属性被删除后,在该对象中已经不存在,不能再使用。
    43                   # 不会影响其他对象。
    44 # print(per4.name)
    45 
    46 # print(per4.age)  # 34
    47 # del per4.age
    48 # print(per4.age)
    49 
    50 # 5、动态添加属性: 注:在取值之前一定要赋值
    51 # 语法格式: 对象名.新的属性名 = 初始值
    52 # 注:只对当前对象有效,对其他对象无效。
    53 
    54 # per5 : age 对象属性  name 类属性
    55 per5 = Person("aa", 88)
    56 print(per5.age)
    57 per5.weight = 54.3
    58 print(per5.weight)
    59 print(per5.name)
    60 per5.name = "qwe"
    61 print(per5.name)
    62 
    63 # 注:以后尽量不要将类属性与对象属性重名,原因:因为对象属性的优先级
    64 # 高于类属性,对象属性会覆盖类属性,只有当对象属性不存在时,才能获取到
    65 # 类属性。
  • 相关阅读:
    php开源项目学习二次开发的计划
    博客系统-程序结构-注册登录登出
    博客系统-3.0CodeIgniter系统SAE版本的配置 application/config/
    博客系统-模块结构
    DIN-A4 doublesided year calendar
    lua
    PGF基本图形对象
    Chinese Seals
    A Good Story for Great Friends
    Jack Clark 的几句名言
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11278808.html
Copyright © 2011-2022 走看看