美文网首页数据蛙数据分析基础学习
Python_类的学习(类、方法、属性)(一)

Python_类的学习(类、方法、属性)(一)

作者: Gaafung峰 | 来源:发表于2020-04-14 21:45 被阅读0次

    面向对象编程,是最有效的编写方法之一,你会发现第三方库的源码基本都使用了类,所以有必要学习 什么是类

    基本概念

    实例化

    根据类来创建对象称为实例化

    创建类和使用类

    创建Dog类

    class Dog():
        """一次模拟小狗的简单尝试"""
    
        def __init__(self, name, age):
            """初始化属性name和age"""
            self.name = name
            self.age = age
    
        def sit(self):
            """模拟小狗被命令时蹲下"""
            print(self.name.title() + " is now sitting.")
    
        def roll_over(self):
            """模拟小狗被命令时打滚"""
            print(self.name.title() + " rolled over!")
    

    创建实例

        my_dog = Dog('willie', 6)  # 实例
        print("My dog's name is " + my_dog.name.title() + ".")
        print("My dog is " + str(my_dog.age) + " years old.")
        my_dog.sit()
        my_dog.roll_over()
    

    打印出

    My dog's name is Willie.
    My dog is 6 years old.
    Willie is now sitting.
    Willie rolled over!
    

    查看类型

    print('my_dog', type(my_dog))
    print('my_dog.name', type(my_dog.name))
    print('my_dog.sit()', type(my_dog.sit()))
    print('my_dog.sit', type(my_dog.sit))
    
    my_dog <class '__main__.Dog'>
    my_dog.name <class 'str'>
    Willie is now sitting.
    my_dog.sit() <class 'NoneType'>
    my_dog.sit <class 'method'>
    

    1.类的命名

    class Dog() 是类,Dog是其类的命名,它的首字母需要大写,约定成俗。
    创建实例 my_dog,则是小写开头,这样子,你便容易区分开来。

    2.方法

    def开头(函数),在类当中都属于方法
    方法__init__是一种特殊的方法,每当根据Dog类创建新实例时,Python都会自动运行它,开头和末尾的两个下划线,是一种约定,目的是避免python默认方法与普通方法起冲突。

    通过对实参Dog()传递名字和年龄,如·my_dog = Dog('willie', 6);self会自动传递,只需给最后两个形参(name和age)提供值。

    为什么叫方法?
    <class 'method'>
    可以通过此看到,method = 方法

    3.属性——前缀self

    def __init__中的name/age均有self,以self开头的变量可以供类中的所有方法使用。
    还可以通过类的任何实例访问这些变量。
    例如 self.name = name 获取存储在形参name中的值,并将其存储到name中,然后该变量被关联到当前创建的实例。
    像这样子可以通过实例访问的变量称为 属性

    4.访问属性

    my_dog.name,访访问实例的属性,用句点表示法。
    顺序是 先找到实例my_dog,再找到这个实例关联的属性name
    Dog类引用这个属性时,使用的是self.name。

    5.调用方法

    my_dog.sit()
    Python在类Dog中查找方法sit()并运行其代码。Python以同样的方式解读 代码my_dog.roll_over()。

    6.命名规则强调

    类的命名首字母大写。
    实例小写。
    属性和方法的命名需指定合适描述,使其没见过内容也可清晰知道做什么。

    相关文章

      网友评论

        本文标题:Python_类的学习(类、方法、属性)(一)

        本文链接:https://www.haomeiwen.com/subject/cmvxvhtx.html