Python基础学习笔记(一):创建类、添加属性

一、类的定义、创建对象

1.1 类的组成
类由三部分组成:①类名 ②属性 ③方法

1.2 PEP8书写规范
类定义的前后需要两个空行;类的命名要使用大驼峰命名法,即每个单词首字母都大写。

1.3 类的定义方法
定义方法1:

class Dog(object):
    pass

括号中的object是一个类,继承于object的类叫新式类,不继承于object的类叫经典类。Python3中,所有类都默认继承于object类,也就是说,所有类都是object类的派生类,所以不写也罢,但是在不继承与其他类的时候,还是写上object比较好

定义方法2:

class Dog():
    pass

你看,不写object也行

定义方法3:

class Dog:
    pass

不继承于其他类时,你甚至可以不写括号,但是不推荐这样写

1.4创建类的对象
创建方法: 变量=类名()

dog1 = Dog()
dog2 = Dog()

创建了两个对象dog1和dog2

二、在类外部添加和获取对象属性

2.1 添加属性
方法: 对象.属性名=属性值

dog1.name = '大黄'  
dog2.age = '2'

给dog1对象添加了名为name的属性,属性值为’大黄’
给dog2对象添加了名为age的属性,属性值为’2’

2.2 获取对象属性值
方法:对象.属性名

print('狗勾的名字是%s' % dog1.name)

结果是: 狗勾的名字是大黄

三、在类内部使用self获取属性值
方法:self.属性名
self.属性名在类内部的值即为属性值

class Dog(object):
    def play(self):
        print(f'小狗勾{self.name}正在快乐地玩耍')


dog1 = Dog()
dog1.name = '大黄'
dog1.play()

运行结果为: 小狗勾大黄正在快乐地玩耍

四、探究一下self到底是个什么玩意
我是用了如下的代码来探究self到底是个什么玩意:
类中有一个get_id()函数,调用它的时候会打印self的地址,然后在创建对象后,我们分别打印对象和self的地址。

class Dog(object):
    def get_id(self):
        print(id(self))


dog1 = Dog()
dog1.get_id() # 2022729192448
print(id(dog1)) # 2022729192448

我惊奇地发现,self和对象dog1的地址相同,也就是说,self就是dog1。所以,在类内部,self所表示的就是对象,与C#中的this关键字相似。

你可能感兴趣的:(My,Python,Notes,python,面向对象编程,类)