关键词不能为空

当前您在: 主页 > 英语 >

python面向对象概念及练习题

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-18 05:36
tags:

-

2021年2月18日发(作者:animal是什么意思)


面向对象及练习题



1.



面向对象



面向对象概念



面向对象是一种编程思 想,是对现实世界中的事物进行抽象的方式。应


用到代码编程设计中,是一种建立现实世 界事物模型的方式。




面向对象和面向过程区别



面向过程关 注的是完成工作的


步骤,


面向对象关注的是


能完成工作。


面向对象是在完成工作的时候关注哪些个体 能够完成对应的工作,


找到对应


的个体即可完成对应任务。



2.





类的概念




类是一系列事物的统称,同类事物必定具有相同的特征。日常 事物的特


征根据特性分为状态和行为,对应到类中是变量和方法。





特征分类:





状态




变量(成员变量)





行为




方法(成员方法)








统称:


类的成员



类定义语法格式







class



类名:





pass







1


说明 :


pass


是空语句,不具有任何意义,仅为了保持程序结构完 整性



类名的命名规则





类名命名规范:满足大驼峰命名规则



3.



对象



对象的概念



对象是类的具体表现形式 ,是实际存在的个体。


(类是一系列事物的统


称)



创建对象语法格式





对象名


=


类名


()





注意事项




对象的创建不限制数量,一个类可以创建任意个数的对象



4.



成员变量



成员变量的概念





成员变量用于描述对象的固有状态或属性。


< br>定义成员变量语法格式(公有属性


/


公有变量)



class


类名:






def __init__(self):



self.


变量名


1 =



1



self.


变量名


2 = None



2


成员变量定义语法格式(独有属性


/


独有变量)

< p>





对象名


.


变量名


=





公有变量与独有变量的区别




公有变量在


__init__


方法中声明,每 个对象都具有该变量




独有变量在创建对象后声明,只有当前对象具有此变量




定义对象的独有变量时,如果独有变量名与公有变量名相


同,视为修改公有变量的值;如果独有变量名与公有变量名不相同,


视为定义新的独有属性




None< /p>


含义是为空,表示没有具体的数据




变量的调用格式







取值: 对象名


.


变量名


赋值:对象名


.


变量名


=




3


5.



成员方法



成员方法概念





成员方法用于描述对象的固有行为



定义成员方法语法格式



格式一(无参方法)




class


类名:









def


方法名


(self):







方法体














格式二(有参方法)




class


类名:








def


方法名


(self,


形参


1


,形参


2


,…

< p>
):






方法体




调用成员方法语法格式



格式一(调用无参方法)





对象名


.


方 法名()



4



格式二(调用有参方法)





对象名


.


方 法名(实参


1


,实参


2


,…)




6.



__init__


方法



方法的作用




__init__


方法,也称为构造方法,创建对象时为对象初始化成员变量



定义


__init__


方法语法格式






格式一:




def __init__(self):





self.


变量名


1 =



1






格式二:




def __init__(self,

形参


1



形参

2


,…


):



5








属性名


1 =


形参


1



属性名


2 =


形参


2




方法调用和执行



< br>__init__


方法在


创建对象


时被运行,


无需手工调用即可执行




__init__


方法中如果


有形参< /p>



在创建对象时需要传递对应的


实参



魔术方法



魔术 方法


是在类中声明、


定义的方法,


执行 时无需手工调用,


自动执行。




7.



__str__


方法



方法的作用



__str__


方法是在使用


print


函数打印输出对象到屏 幕时被调用的


方法,用于返回对象的规范化字符串表现形式


< /p>


定义


__str__


方法语法格式



def __str__(self):





return


打印对象是显示的信息







6


8.



成员方法调用类成员



成员方法中调用成员变量语法格式




self.


变量名




成员方法中调用成员方法语法格式





self.


方法名


(


实参


1

,实参


2


,…


)

< br>



self


< p>
self


仅出现在成员方法中,指代执行该方法的


对象




7


9.


封装



封装的作用



封装操作可以对受访问保 护的成员进行功能开放的控制,


达到保护数据


不被非法访问的目 的



定义私有变量语法格式




属性名


=





定义私有方法语法格式




def


__


方法名

< br>(self


,形参


1


,形参


2


,…


):





方法体





标准封装语法格式



















变量私有化格式:




属性名


=




提供公共的访问器格式:




def


get_


属性名


(self):





return


属性名



提供公共的修改器格式:




def


set_


属性名


(self,


属性名


):





属性名


=


属性名



8



10.


类变量



类变量的概念



类变量是定义在类中, 不属于某个具体对象的特征,被所有对象共同使


用的特征



定义类变量语法格式



class


类名:





变量名


=





调用类变量语法格式













赋值格式:




类名


.


类变 量名


=




取值格式:




类名


.


类变量名(


推荐





对象名


.


类变量名(不推荐)



注意事项




类变量推荐使用类名取值访问,


也可以使用对象名取值访问




类变量


只能


通过类名修改;


使用对象名调用类变量修改类变


量的值时会创建 新的对象独有变量;如果此时对象具有同名对象变


量,则修改对应的变量值




类变量可以私有化




9


11.


类方法



类方法的概念



类方法是定义在类中, 不属于某个具体对象的行为,被所有对象共同使


用的行为



定义类方法基本语法











class


类名:




@classmethod




def


方法名

(


cls


,


形参


1


,形参


2


,…


):





方法体





调用类方法语法格式







类名< /p>


.


类方法名


(


实 参


1


,实参


2


,…


)




推荐



< /p>


对象名


.


类方法名


(


实参


1


,实参

2


,…


)


(不推荐)



注意事项




类方法中


不允许


使用实例变量和实例方法




类方法中


允许

< br>使用类变量和类方法,


通过第一个参数


cls

< p>





实例方法中


允许


使用类变量和类方法

< br>


12.


静态方法



定义静态方法语法格式





class


类名:



10











@staticmethod




def



方 法名


(


形参


1,


形参


2


,…


):




方法体





调用静态方法语法格式







类名< /p>


.


静态方法名


(


实参


1


,实参


2


,…


)



推荐



< /p>


对象名


.


静态方法名

(


实参


1


,实参

< br>2


,…


)


(不推荐)





各种方法定义规则




只访问成员变量的方法,定义成实例方法




只访问类变量的方法,定义类方法




既访问成员变量,也访问类变量的方法,定义成实例方法




既不访问成员变量,也不访问类变量,定义成静态方法





















11














练习题


1



概念理解



要求


:



1.


如何理解面向对象编程


(OOP)



2.


什么是类,什么是对象



提示:



1.


类和对象有两个层面的含义:


类是对一类具体的事物的抽象的概括,

具有


相似内部状态和运动规律的实体的集合,


具有相同属性 和行为事物的统称,


是抽


象的;


对象是 一个具体的事物,


在现实世界中可以是看得见摸得着的,


可以直 接


使用的



2.


拥有相同


(


或者类似


)


属性和行为的对象都可以抽像出一个类



练习题


2



定义类、创建对象



要求


:




中如何定义一个类




class



类名


:






方法


...





class



Test


:






def



test


(


self

< br>):








pass



12

2.



(class)


由哪三个部 分构成




类的名称、类的属性、类的方法



3.


类名的命名规则是什么




大驼峰命名法



4.



python

< br>中如何通过类创建对象,请用代码进行说明




#


创建对象




#


对象名


=


类名


()




class



Human


:



#


定义类






pass




man


=


Human


()



#


创建对象



5.


如何在类中定义一个方法,请用代码进行说明




class



Human


:






#


定义


run


方法






def



run


(


self


):








print


(



正在奔跑



)



6.


定义一个


People

< p>
类,


使用


People


类 ,


创建一个


mayun


对象后,


添加


company


属性,值是



阿里巴巴



;创建一个


wangjianling


对象,添加


com pany


属性,值



< br>万达集团





class



People


:






pass




mayun


=


People


()



#


创建


mayun

< br>对象



=



阿里巴巴





#


为对象添加属性




wangjianlin


=


People


()



#


创建


wangjianlin


对象



=



万达集团



< /p>


7.


定义一个水果类,然后通过水果类,创建苹果对象、橘子对象 、西瓜对象


并分别添加上颜色属性




class



Fruit


:






pass




apple


=


Fruit


()



=



红色





orange


=


Fruit


()



=



橙色





watermelon


=


Fruit


()




watermelon


=



绿色




13


8.


定义一个汽车类,并在类中 定义一个


move


方法,然后分别创建


BMW_X9



AUDI_A9


对象, 并添加颜色、马力、型号等属性,然后分别打印出属性值、调用


move


方法




class



Car


:






def



move


(


self

< br>):








p rint


(



汽车正在移动



)





BMW_X9


=


Car


()



=



白色




=




=




()




print


(



这辆


%s %s


的马力是

< p>
%s




%


,,)





AUDI_A9


=


Car


()



=



黑色




=




=




()




print


(



这辆


%s %s


的马力是

< p>
%s




%


, , )



提示:



1.


可以在通过类创建出对象后,


再为对象添 加属性


:


对象名


.

属性名


=





方式添加



2.


调用对象的方法和调用普通函数的一样,


使用


()


来实现调用,


只不过调用


方法需要使用:对象名


.


方法名


()


来进行调用



练习题


3



要求


:



__ init__


方法、


__str__


方 法、


self



1.__init__


方法有什么作用,如何定义




当使用类名


()


的方法去创建对象的时候




python


解释器会自动调用


__init__


方法




因此可以在


__init__< /p>


方法中做一些初始化的设定




在每次创建新对象时,都自动完成这些初始化的设定




class



Human


:






def



__init__

< p>
(


self


):



#


注意名字不能写错,否则就只是一个


普通的方法



14







pass



2.



__str__


方法有什么作用,使用时应注意什么问题




如果类中定义了


__str__


方法,


那么当使用


print


打印对象时,

< p>
打印出的信


息是




__str__


方法的返回值




注意点:




__str__


方法必须有返回值,且必须返回一个字符串类型 的值



3.


方法中的

< br>


代表什么



< br>类中定义的许多方法,除了之后会提到的类方法和静态方法以外,其他任


何的方法




当被对象调用时,


python


解释器都会把这个对象作为这个方法的第一个参

< br>数传入




所以定义这些方法时 ,必须写上第一个参数,往往写成


self


去接收




因此在这些方法中,


s elf


就可以直接被当做当前对象来使用


4.


在类中定义


__init__



__str__


方法时,必须提供形参吗,第一个形参又


必须是


self


吗为什么

< br>



同上




但这个参数名可以写成别的,但往往写成

self


,便于编写程序的人区分



提示:



1.__init__


方法可以在创建对象时,


为对象实现一些初始化的操作,


提供一


些默认属性



2._ _str__


方法可以在使用


print


打印对象时,


打印出


__str__


方法的返回值



3.__str__


方 法必须拥有返回值,并且返回值的数据类型格式只能是字符串


类型



练习题


4



判断以下说法是否正确,并说明理由



要求


:



1.


类就好比一个模型,


可以预先定义一些统一的属性或者方法,< /p>


然后通过这


个模型创建出具体的对象




True



2.


类是抽象的,而对象是具体的、实实在在的一个事物



15

-


-


-


-


-


-


-


-



本文更新与2021-02-18 05:36,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/664376.html

python面向对象概念及练习题的相关文章