zoukankan      html  css  js  c++  java
  • python中class的定义及使用

     1 #类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
     2 #对象:它是类的实例化。
     3 #方法:类中定义的函数。
     4  
     5 #类(Class) 由3个部分构成:
     6 '''
     7 类的名称:类名
     8 类的属性:指对象的特征(一组数据)
     9 类的方法:允许对象进行操作的方法 (行为/功能)
    10 '''
    11  
    12 # Python 3.x中取消了经典类,默认都是新式类。
    13 # 新式类的语法 -> class 类名(object): pass
    14  
    15 # 类对象支持两种操作:属性引用 和 实例化。
    16 # 属性引用的语法:obj.属性
    17 # 类实例化的语法:obj = 类名()
    18 # 类中方法的调用:obj.方法名()
    19  
    20  
    21 # 下面分析新式类的2种常见形式:
    22  
    23 #例1:
    24 #自定义一个类student
    25 class student(object):
    26     def speak(self):  ## 哪个对象调用了这个方法,self就是那个对象;可以把self理解为一个形参
    27         print("%s 说:我今年%s岁" % (self.name, self.age))
    28  
    29 #类student 实例化一个对象john
    30 john = student()
    31 # 给对象添加属性
    32 john.name = "约翰"
    33 john.age = 19
    34 # 调用类中的 speak()方法
    35 john.speak()
    36 #<<<约翰 说:我今年19岁
    37  
    38  
    39 #例2:
    40 class student(object):
    41     # 定义构造方法
    42     def __init__(self, n, a):  #__init__() 是类的初始化方法;它在类的实例化操作后 会自动调用,不需要手动调用;
    43         # 设置属性
    44         self.name = n
    45         self.age = a
    46     # 定义普通方法
    47     def speak(self):
    48         print("%s 说:我今年%s岁" % (self.name, self.age))
    49  
    50 #类student 实例化一个对象john
    51 john = student("约翰",19)
    52  
    53 # 调用类中的 speak()方法
    54 john.speak()
    55 #>>>约翰 说:我今年19岁
    56  
    57 # 在python中使用__开头 并以__结尾的方法,称之为魔法方法;
    58 # __init__(self) 是类的初始化方法,也称构造方法,是一种特殊的魔法方法。
    59 # __init__(self)在实例化后,会自动调用,而不用手动调用,所以一般把属性设置在_init__()里。
    60 # 常用到的魔法方法还有:__str__(self) 、 __del__(self)等。
    61  
    62 ## __str__(self)
    63 class student(object):
    64     # 定义构造方法
    65     def __init__(self, n, a):
    66         # 设置属性
    67         self.name = n
    68         self.age = a
    69         
    70     # 输出一个字符串(追踪对象属性信息变化)
    71     def __str__(self):  # __str__(self)不可以添加参数(形参)
    72         return "名字:%s 年龄:%d" % (self.name, self.age)
    73  
    74 # 实例化一个对象john
    75 john = student("约翰",19)
    76  
    77 # 当使用print输出对象时,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
    78 print(john)
    79 #>>>名字:约翰 年龄:19
    80 
    81 ————————————————
    82 版权声明:本文为CSDN博主「pdstar」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    83 原文链接:https://blog.csdn.net/pdstar/article/details/90900944
  • 相关阅读:
    2015的最后一天
    网络类型IPv4和IPv6什么意思?区别?
    2:文档编辑生成目录相关方法说明
    TCP与UDP的区别
    vs 2012 InstallShield Limited Edition Project 打包windows服务解析
    百科编辑器ueditor应用笔记
    百度编辑器Ueditor 初始化加载内容失败解决办法
    矩阵-DirectX与OpenGL的不同
    ios系统中各种设置项的url链接
    简单的优化处理 By LINQ TO SQL
  • 原文地址:https://www.cnblogs.com/chanshion/p/12372876.html
Copyright © 2011-2022 走看看