网络编程
位置:首页>> 网络编程>> Python编程>> Python入门学习之类的相关知识总结

Python入门学习之类的相关知识总结

作者:GalaxyerKw  发布时间:2021-12-18 10:02:38 

标签:Python,类

前言

Python是面向对象的程序设计(Object Oriented Programming)。

面向对象的程序设计的一条基本原则是:

计算机程序由多个能够起到子程序作用的单元或者对象组合而成。

面向对象的程序设计的一个关键性概念是:

数据以及数据的操作(即函数方法)封装在一起。

这个概念对于接触C++的我来说已经很熟悉了。就是“类”Class。
Python完全支持所有面向对象的基本功能,比如:

“封装”、“继承”、“多态”以及对基类方法的“覆盖”或“重写”。

下面请由我慢慢道来。

一、类的定义和使用

在C++中,类是“结构体”的衍生。在Python中,类作为一个完全独立的概念出现。

1.类的定义:


class ClassName:
......

2.初始化函数和self参数:【非常重要!!!!】


def __init__(self,a,b,......):
self.变量1=a
self.变量2=b
......

①Python在初始化函数里定义“变量”。
当我们要使用这个类的时候,可以直接对初始化函数里的变量赋值。
当然,可以不写形参a,b等等,直接给变量赋值。
②self参数表征这个类。
在类中写函数(即方法)时,都必须传入self参数。之后会举例说明。

【由此,我们可以发现,python中的init初始化函数与C++中的构造函数如出一辙,其原理其实是一样的】

3.外部变量使用类:即调用类的初始函数


class A:
def __init__(self,p,q):
self.a=p
self.b=q

example=A(1,2)  #调用初始化函数,传入形参p=1,q=2,此时标明example使用了A类
print(A.a)      #输出1
print(A.b)      #输出2

4.限制变量的适用范围:私有or公有

我们知道,C++类中的变量有public、protected和private三种。Python中当然也有,只是书写方式不同。
特别注意,private变量“类内”和“类外”的调用方法是不同的。
在类外获取private变量值的方法有两种:

①通过特定“接口”:即调用类内函数方法,在类内通过self实现对private变量的使用
②通过特殊方法:example._ ClassName(类名) __var(变量)

如果直接无脑调用private,程序出现AttributeError错误。当然也不能对直接对private变量进行该值和赋值的操作。


class A:
def __init__(self,a,b,c):
self.one=a      #没有修饰,等价于public
self._two=b     #加一条下划线,等价于protected
self.__three=c  #加两条下划线,等价于private
def get_all(self):
print(self.one)     #类内的调用方式:格式与定义相同
print(self._two)
print(self.__three)

example=A(1,2,3)
example.get_all()         #通过“接口”获取private值
print(example._A__three)  #通过特殊方法获取private值

来源:https://blog.csdn.net/GalaxyerKw/article/details/117198771

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com