关键词不能为空

当前您在: 主页 > 英语 >

python面向对象概念与练习试题

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

-

2021年2月18日发(作者:nhn)


word


格式



面向对象及练习题



1.



面向对象



1.1


面向对象概念



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


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



1.2


面向对象和面向过程区别



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


步骤,


面向对象关注的是


能完成工作。


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


找到对应


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



2.





2.1


类的概念




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


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





特征分类:





状态



?



变量(成员变量)





行为



?



方法(成员方法)








统称:


类的成员



2.2


类定义语法格式







class



类名:





pass






.. ..


word


格式




说明:


pass

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



2.3


类名的命名规则





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



3.



对象



3.1


对象的概念


< br>对象是类的具体表现形式,


是实际存在的个体。



类是一系列事物的统称)



3.2


创建对象语法格式





对象名


=


类名


()



3.3


注意事项




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



4.



成员变量



4.1


成员变量的概念





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



.. ..


word


格式



4.2


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


/

< br>公有变量)



class


类名:





def __init__(self):


self.


变量名


1 =



1


self.


变量名


2 = None



4.3


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


/


独有变量)






对象名


.


变量名


=





4.4


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



?



公有变量在


__init__


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



?



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



?



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


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


义新的独有属性



?



None


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




.. ..


word


格式



4.5


变量的调用格式







取值:对象名


.


变量名


赋值:对象名


.


变量名


=




5.



成员方法



5.1


成员方法概念





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



5.2


定义成员方法语法格式



格式一(无参方法)




class


类名:








def


方法名


(self):





方法体
















格式二(有参方法)




class


类名:








def


方法名


(self,


形参


1


,形参


2


,…

< p>
):





方法体




.. ..


word


格式



5.3


调用成员方法语法格式



格式一(调用无参方法)




对象名


.


方法名()




格式二(调用有参方法)




对象名


.


方法名(实参


1


,实参


2


,…)

< br>



6.



__init__


方法



6.1__init__


方法的作用




__init__


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



6.2


定义


__init__


方法语法格式






.. ..


格式一:




def __init__(self):




self.


变量名


1 =



1



word


格式








格式二:




def __init__(self,


形参

< br>1



形参


2

,…


):




self.__


属性名


1 =


形参


1





self.__


属性名


2 =


形参


2



6 .3__init__


方法调用和执行



?



__init__


方法在


创建对象


时被运行,无需手工调用即可执行



?



__ini t__


方法中如果


有形参


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



6.4


魔术方法


魔术方法


是在类中声明、


定义的方法,

执行时无需手工调用,


自动执行。




7.



__str__


方法



7.1__str__


方法的作用


< /p>


__str__


方法是在使用


print


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


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



7.2


定义


__str__


方法语法格式



def __str__(self):



return


打印对象是显示的信息






.. ..


word


格式





8.



成员方法调用类成员



8.1


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




self.


变量名




8.2


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





s elf.


方法名


(


实参


1


,实参


2


,…


)


.. ..


word


格式




8.3 self



self


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


对 象




9.


封装



9.1


封装的作用


< br>封装操作可以对受访问保护的成员进行功能开放的控制,达到保护数据


不被非法访 问的目的



9.2


定义私有变量语法格式




self.


__

属性名


=





9.3


定义私有方法语法格式




.. ..


def

< p>
__


方法名


(self


, 形参


1


,形参


2


,…


):


word


格式





方法体




9.4


标准封装语法格式



















变量私有化格式:




self.


__


属性名


=




提供公共的访问器格式:




def


get_


属性名


(self):




return self.__


属性名



提供公共的修改器格式:




def


set_


属性名


(self,


属性名


):




self.__


属性名


=


属性名




10.


类变量



10.1


类变量的概念



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


用的特 征



.. ..


word


格式



10.2


定义类变量语法格式



class


类名:




变量名


=






10.3


调用类变量语法格式













赋值格式:




类名


.


类变量名


=




取值格式:




类名


.


类变量名(


推荐





对象名


.


类变量名(不推荐)



10.4


注意事项



?



类变量推荐使用类名取值访问,也可以使用对象名取值访问



?



类变量


只 能


通过类名修改;使用对象名调用类变量修改类变量的值


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


修改对应的变量值

< p>


?



类变量可以私有化




11.


类方法



11.1


类方法的概念



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


用的行 为



11.2


定义类方法基本语法











class


类名:




@classmethod



def


方法名


(

cls


,


形参


1


,形参


2


,…


):




方法体



.. ..


word


格式





11.3


调用类方法语法格式







类名


.


类方法名


(


实参


1


,实参


2


,…


)




推荐



< /p>


对象名


.


类方法名


(


实参


1


,实参

2


,…


)


(不推荐)



11.4


注意事项



?



类方法中


不允许


使用实例变量和实例方法



?



类方法中


允许


使用类变量和类方法,通过第一个参数


cls


进行



?



实例方法中


允许


使用类变量和类方法

< br>


12.


静态方法



12.1


定义静态方法语法格式











class


类名:




@staticmethod




def



方 法名


(


形参


1,


形参


2


,…


):





方法体





.. ..


word


格式



12.2


调用静态方法语法格式









类名


.< /p>


静态方法名


(


实参


1


,实参


2


,…

)



推荐



< /p>


对象名


.


静态方法名

(


实参


1


,实参

< br>2


,…


)


(不推荐)



12.3


各种方法定义规则



?


?


?


?
































.. ..


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



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



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


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








word


格式



练习题


1


概念理解



要求


:



1.



如何理解面向对象编程


(OOP)


2.



什么是类,什么是对象



提示:



1.



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


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


具有相似内


部状态和运动规律的实体的集合,具有相同属性 和行为事物的统称,是抽象的;


对象是一个具体的事物,


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


可以直接使用的



2.



拥有相同


(


或者类似


)


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



练习题


2


定义类、创建对象



要求


:



1.



python


中如何定义一个类




class



类名


:





方法


...




class



Test


:





def



test

(


self


):







pass



2.




(c lass)


由哪三个部分构成




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



3.



类名的命名规则是什么




大驼峰命名法



4.



python

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




#


创建对象




#


对象名



=


类名


()




class



Human


:




#


定义类



.. ..


word


格式






pass




man


=


Human


()




#


创建对象



5.



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




class



Human


:





#


定义


run


方法






def



run


(


self


):







print


(



正在奔跑



)


6.



定义一个


People


类,


使用


People


类,


创建一个


mayun


对象后,


添加


company


属性,值是



阿里巴巴



;创建一个


wangjianling


对象,添加


company


属性,值




万达集团




class



People


:





pass




mayun


=


People


()




#


创建


m ayun


对象



mayun


.


company


=



阿里巴巴






#


为对象添加属性




wangjianlin


=


People


()



#


创建


wangjianlin


对象




wang jianlin


.


company




=



万达集团




7.



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


添加上颜色属性




class



Fruit


:





pass




apple


=


Fruit


()


< br>apple


.


color


=



红色





orange


=


Fruit


()


< br>orange


.


color


=



橙色





watermelon


=


Fruit


()



watermelon


=



绿色




8.



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


move


方法,然后分别创建


BM W_X9



AUDI_A9


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



mo ve


方法




class



Car


:





def



move


(


self


):







print


(


汽车正在移动



)




BMW_X9


=


Car


()



BMW_X9


.


color


=



白色





BMW_X9


.

horsepower


=





BMW_X9


.

model


=




.. ..


word


格式




BMW_X9


.

move


()



print


(



这辆


%s %s


的马力是


%s




%


(


BMW_X9

< br>.


color


,


BMW_X9< /p>


.


model


,


BMW_X9


.


horsepower


))




AUDI_A9


=


Car


()



AUDI_A9


.


color


=



黑色





AUDI_A9


.

< br>horsepower


=





AUDI_A9


.

< br>model


=





AUDI_A9


.

< br>move


()



print< /p>


(



这辆


%s % s


的马力是


%s



%


(


AUDI_A9


.


color


,


AUDI _A9


.


model


,


AUDI_A9


.


horsepower

< p>
))


提示:



1.



可以在通过类创建出对象后,再 为对象添加属性


:


对象名


.

< p>
属性名



=




的方式添




2.



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


()


来实现调用,只不过调用方法需


要使用:对象名


.


方法名


( )


来进行调用



练习题


3


要求


:



__ init__


方法、


__str__


方 法、


self


1.



__init__


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




当使用类名


()

的方法去创建对象的时候




py thon


解释器会自动调用


__init__

< br>方法




因此可以在

< p>
__init__


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




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




class



Human


:





def



__init__

< p>
(


self


):




#


注意名字不能写错,否则就只是一个普通的方法








pass



2.



__str__


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




如果类中定义了


__str__


方法,那么当使 用


print


打印对象时,打印出的信息是



__str__


方法的返回值




注意点:




__str__


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



3.



方法中的



代表什么



.. ..


word


格式




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


方法




当被对象调用时,


python


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





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


self


去接收




因 此在这些方法中,


self


就可以直接被当做当前对象来使用< /p>



4.



在类中 定义


__init__



__str_ _


方法时,


必须提供形参吗,


第一个形 参又必须是


self


吗?为什么?




同上



< /p>


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


self


,便于编写程序的人区分



提示:



1.



__init__


方法可以在创建对象时,为对象实现一些初始 化的操作,提供一些默认


属性



2.



__str__


方法可以在使用


print


打印对象时,打印出


__str__


方法的返回值



3.



__str__


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



练习题


4


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



要求


:



1.



类就好比一个模型,

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


然后通过这个模型


创建出具体的对象




True



2.



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




True



3.



拥有相同


(


或者类似


)


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




True



4.



一个类只能创建出一个对象




False




通过类可以创建无数个不同的对象




例外:使用了单例模式的,只会创建出一个对象


(


就业班课程会讲解单例模式


)


.. ..

-


-


-


-


-


-


-


-



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

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