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

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

基本概念

实例化

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

创建类和使用类

创建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 
my_dog.name 
Willie is now sitting.
my_dog.sit() 
my_dog.sit 

1.类的命名

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

2.方法

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

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

为什么叫方法?

可以通过此看到,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_类的学习(类、方法、属性)(一))