• 构造函数


     1 '''
     2 构造函数:__init__(self, 参数): 实例化对象时自动调用。
     3 python中没有函数重载,init函数在一个类中写多个不会报错,但
     4 只有最后一个构造函数有效。
     5 建议:以后类的构造函数只写一个即可。
     6 '''
     7 class Person():
     8     '''
     9     # 类属性
    10     name = "lily"
    11     age = 0
    12     sex = "F"
    13     '''
    14     # 普通方法
    15     def eat(self):
    16         print("eat---1")
    17     # 系统默认自带的构造方法:无参数,函数体中无内容
    18     '''
    19     def __init__(self):
    20         pass
    21     '''
    22     # 我们重写构造函数时,可以更改形参数量,可以重新设置函数体中的内容
    23     # 构造函数没有return语句
    24     '''
    25     def __init__(self):
    26         print("init函数")
    27     '''
    28     # 更改参数个数
    29     '''
    30     def __init__(self, name, age):
    31         # name == 形参
    32         # self.name == 对象属性
    33         # print(name, age)
    34         # 对象属性:(在init方法中使用self.的方式创建的属性)
    35         self.name = name
    36         self.age = age
    37         self.sex = 0
    38     '''
    39     # 三个属性name,age,sex,实例化对象时,必传参数有name  其他两个可选
    40     def __init__(self, name, age=0, sex=0):
    41         self.name = name
    42         self.age = age
    43         self.sex = sex
    44         # print(12345678)
    45 
    46 
    47     # def __init__(self, name, **kwargs):
    48     #     self.name = name
    49     #     self.age = kwargs.get("age")
    50     #     self.sex = kwargs.get("sex")
    51         # self.age = kwargs["age"]
    52 
    53 
    54 
    55 per1 = Person(name="lucy")
    56 print(per1.name, per1.age, per1.sex)
    57 per2 = Person(name="lili", age=30)
    58 print(per2.name, per2.age, per2.sex)
    59 per3 = Person(name="aaa", sex=1)
    60 print(per3.name, per3.age, per3.sex)
    61 per4 = Person(name="b", age=40, sex=1)
    62 print(per4.name, per4.age, per4.sex)
    63 
    64 per5 = Person(name="123", age=12, sex=89)
    65 print(per5.name)
    66 
    67 # per5.__init__(name=123, age=456, sex=789)
    68 
    69 
    70 
    71 # Person() 执行的是:Person类中的init方法
    72 # per1 = Person("lucy", 12)
    73 # print(per1.name)  # lucy
    74 # print(per1.age)
    75 # per2 = Person("lilei", 30)
    76 # print(per2.name)  # lilei
    77 #
    78 # print(per1.sex)   # 0
    79 # print(per2.sex)   # 0
    80 
    81 
    82 
    83 
    84 
    85 
    86 
    87 
    88 '''
    89 class Student:
    90     name = "lily"
    91 
    92 stu = Student()
    93 print(stu.name)
    94 '''
  • 相关阅读:
    一些Cassandra+YCSB异常
    memcached使用
    YCSB报": No such file or directory"异常
    dynamo与cassandra区别
    XT535
    北京地区护照办理流程
    一些iptables配置
    debian6保存iptables规则
    pdf转eps后存在大片空白的处理
    sql server 2008 数据库可疑的解决步骤
  • 原文地址:https://www.cnblogs.com/BKY88888888/p/11272396.html
Copyright © 2020-2023  润新知