• 学习python -- 第013天 类与对象


    定义

    ·类

    ·多个类似事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质

    ·数据类型
    ·不同的数据类型属于不同的类
    ·使用内置函数查看数据类型

    ·对象
    ·100、99、520都是int类之下包含的相似的不同个例,这个个例专业数语称为实例或对象

     类的创建

     1 #
     2 # @author:浊浪
     3 # @version:0.1
     4 # @time: 2021/4/14 19:01
     5 # 
     6 class Student:  #  Student为类名 由一个或多个字母组成 每个单词首字母大写,其余小写
     7     native_pace = 'gd'  # 直接写在类的变量,称为类属性
     8 
     9     def __init__(self, name, age):
    10         self.name = name  # self.name称为实体属性,进行了一个赋值的操作,将局部变量的name的值赋给实体属性
    11         self.age = age
    12 
    13     # 实例方法,在类之外定义的叫函数,类里面定义的叫方法
    14     def eat(self):
    15         print('学生在吃饭')
    16 
    17     # 静态方法
    18     @staticmethod
    19     def method():
    20         print('这是静态方法')
    21 
    22     # 类方法
    23     @classmethod
    24     def cm(cls):
    25         print('这是类方法')
    26 
    27 
    28 
    29 
    30 print(id(Student))  #13956056
    31 print(type(Student))  # <class 'type'>
    32 print(Student)  # <class '__main__.Student'>

    对象的创建

    1 stul = Student('张三', 23)
    2 stul.eat()
    3 print(stul.name)
    4 print(stul.age)
    5 
    6 print('------------------------')
    7 Student.eat(stul)  # 本行与第2行代码功能相同,都是调用Student中的eat方法
    8                    # 类名.方法名(类的对象)-一>实际上就是方法定义处的self

    类属性,类方法,静态方法

    ·类属性:类中方法外的变量称为类属性,被该类的所有对象所共享

    1 stu1 = Student('张三', 23)
    2 stu2 = Student('李四', 30)
    3 print(stu1.native_pace)
    4 print(stu2.native_pace)
    5 Student.native_pace = 'guangdong'
    6 # 都变成了广东
    7 print(stu1.native_pace)  # 若只是stu1.native_pace = 'guangdong' 则只会 stu1变成guangdoong
    8 print(stu2.native_pace)


    ·类方法:使用@classmethod修饰的方法,使用类名直接访问的方法

    1 print('_________________使用类方法__________________')
    2 Student.cm()


    ·静态方法:使用@staticmethod修饰的主法,使用类名直接访问的方法

    1 print('_________________使用静态方法__________________')
    2 Student.method()

    动态绑定

    ·Python是动态语言,在创建对象之后,可以动态地绑定属性和方法

    1 stu2.gender = ''
    2 
    3 def show():
    4     print('普普通通一函数')
    5 
    6 stu2.show = show
    7 
    8 # 动态绑定只会在该对象添加属性或者方法,其他对象不会添加

    小结

    认清现实,放弃幻想。 细节决定成败,心态放好,认真学习与工作。
  • 相关阅读:
    python scrapy爬取前程无忧招聘信息
    scrf 原理及flask-wtf防护
    Django 惰性机制
    Django 中配置MySQL数据库
    Django的安装命令
    python装饰器
    python面向对象之继承
    OSI七层模型
    面向对象
    python函数
  • 原文地址:https://www.cnblogs.com/jyf2018/p/14659758.html
Copyright © 2020-2023  润新知