python编程实例集合-Python编程:创建和使用类

面对对象编程

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。

类(Class)

用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

对象

python中一切皆对象

三个特征

身份:唯一的身份标识,可以使用内建函数id()来得到,这个值可以被认为是该对象的内存地址

类型:对象的类型决定了该对象可以保存什么类型的值,可以使用内建函数type()

值:对象表示的数据项

方法

类中的函数称为方法,所有类都有一个名为__init__()的函数,它始终在启动类时执行使用__init__()函数将值赋给对象属性,或创建对象时需要执行的其他操作

self参数

self参数是对类的当前实例的引用,用于访问属于该类的变量。不必命名为self,可以随意调用,但必须是类中任意函数的首位参数!

格式

class类名():

def __init__(self): #构造器,格式规定

pass #代码块

创建类

例子:首先创建一个简单的类,dog类(在python中,首字母大写的是类)。它表示的不是特定的类,而是任何小狗。宠物狗一般都有名字和年龄(属性),其次都会蹲下和打滚(行为)

1 classDog():2 def __init__(self,name,age):3 self.name =name4 self.age =age5

6 def sit(self):  #蹲下7 print(self.name.title() + 'is now stting.')8

9 def roll_over(self):  #打滚10 print(self.name.title() + 'rolled over!')

第1行:定义一个类,类名为Dog

第2行:定义__init__()方法,包含三个形参:self、name、age,__init__() 是一个特殊的方法,每当你根据Dog类创建新实例时,Python都会自动运行它。在这个方法的定义中,形参self 必不可少,还必须位于其他形参的前面。因为它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

第3、4行:定义的两个变量都有前缀self 。以self 为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name = name 获取存储在形参name中的值,并将其存储到变量name中, 然后该变量被关联到当前创建的实例。像这样可通过实例访问的变量称为属性 。

第6-10行:定义了两个方法:sit()和roll_over(),由于蹲下和打滚并不需要名字和年龄,所以只有一个self参数。并打印两句话,这个地方可以继续扩展小狗的行为。

访问属性

1 classDog():2 def __init__(self,name,age):3 self.name =name4 self.age =age5

6 def sit(self):7 print(self.name.title() + 'is now stting.')8

9 def roll_over(self):10 print(self.name.title() + 'rolled over!')11

12 my_dog = Dog('wille',6)13 my_dog.sit()14 my_dog.roll_over()15

16 输出17 Wille isnow stting.18 Wille rolled over!

第12行:创建一条名为wille,6岁的小狗,python调用Dog类中的__init__()方法,并使用我们提供的值设定name和age的属性。

第13、14行:在Dog类中查找sit()和roll_over()方法,并将我们提供的值代入。

创建多个实例

classDog():

def __init__(self,name,age):

self.name=name

self.age=age

def sit(self):

print(self.name.title()+ 'is now stting.')

def roll_over(self):

print(self.name.title()+ 'rolled over!')

my_dog= Dog('wille',6)

your_dog= Dog('lucy',4)

print("My dog's name is" + my_dog.name.title() + '.')

print("My dog is" + str(my_dog.age) + 'years old.')

my_dog.sit()

print("Your dog's name is" + your_dog.name.title() + '.')

print("Your dog is" + str(your_dog.age) + 'years old.')

your_dog.sit()

输出

My dog's name is Wille.

My dog is 6years old.

Willeisnow stting.

Your dog's name is Lucy.

Your dog is 4years old.

Lucyis now stting.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值