继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第1天 Python的面向对象编程

小白兔1215
关注TA
已关注
手记 55
粉丝 3
获赞 2

课程名称:Python3 进阶教程(新版)
章节名称:Python面向对象编程
讲师名称:咚咚呛

课程内容

Python面向对象编程的概念,如何创建类和实例,如何定义类的属性和方法

  • 什么是面向对象编程
  • 类的定义与实例化
  • 实例属性的定义
  • 类属性

学习收获

面向对象编程是程序设计的范式,将现实事物进行抽象并建立对象模型。程序是不同对象之间相互调用的逻辑。

python中,类的定义是使用class关键字进行定义的。类名首字母需要大写。

 class Animal: pass
 class Animal(): pass
 class Animal(object): pass

实例化是指,把抽象的类,赋予实物的过程。创建实例使用类名+(),类似函数调用的形式创建。

class Animal: pass

dog = Animal()
cat = Animal()

print(dog == cat)

类是拥有属性的。

class Animal: pass

dog = Animal()
dog.name = 'hugo'
dog.age = 1

cat = Animal()
cat.name = 'huahua'
cat.age = 2

print(dog.name,cat.age)

在定义类时,可以为类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用。

class Person(object):
    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age

需要注意的是,__init__()方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。定义类后,就可以相应的实例化对象了,需要注意的是,在实例化的时候,需要提供除self以外的所有参数。

xiaoming = Person('Xiao Ming', 13)
xiaohong = Person('Xiao Hong', 14)

类和实例对象是有区别的,类是抽象,是模板,而实例则是根据类创建的对象,比如类:动物,只是一个抽象,并没有动物的详细信息,而猫、狗等,则是具体的动物,是类的对象。

实例对象绑定的属性只属于这个实例,绑定在一个实例上的属性不会影响其它实例;同样的,类也可以绑定属性,但是类的属性不属于任何一个对象,而是属于这个类。如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。

class Animal(object):
    localtion = 'Asia'
    def __init__(self, name, age):
        self.name = name
        self.age = age
		
dog = Animal('wangwang', 1)
cat = Animal('mimi', 3)
print(dog.localtion) # ==> Asia
print(cat.localtion) # ==> Asia
# 类属性,也可以通过类名直接访问
print(Animal.localtion) # ==> Asia

类属性也是可以动态添加和修改的,需要注意的是,因为类属性只有一份,所以改变了,所有实例可以访问到的类属性都会变更。

打卡截图

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP