社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

为什么使用Python? 优势有哪些?

Q:458831279 • 3 年前 • 167 次点击  

Python 是一种面向对象的高级语言,因此类对于 Python 非常重要。类是一个空间,在该空间中变量 (属性 / 方法) 分别存储。运算符’ . ‘用于调用类的属性和方法。类是事务类的抽象,它不是真的存在,它描述了事务的共性。在搜索类属性时,python 首先找到实例,然后在实例中找到属性,当找不到时,它将在类内部进行搜索。那么如何使用 Python 的类?优势有哪些?下面让我们一起来详细了解一下吧。

如何使用 Python 的类?

1. 在 Python 中,定义类是通过 class 关键字来实现的:

class Student(object):

Pass

class 后面紧接着是类名,即 Student. 类名通常采用单词首字母大写的形式命名,比如 StudentCore。

(object) 表示该类是从哪个类继承来的。如果没有合适的继承类,则通常使用 object 类,这是所有类都会继承的类。

2. 实例化一个类是通过在类名后面加小括号 “()” 来实现的:

pupil=Student ()

“小学生” 是 “学生” 这个的一个实例。所谓实例,可以将其理解为类的化身。类不能被直接使用,只能先将其实例化,然后用实例代表类,进而调用类中的方法处理数据。那么实例是怎么代表类的呢?在定义类及其方法时,有一个参数叫 self, 它就是串联实例与类之间的关键参数,可以简单地理解为 “self = 实例名”。

类的下面有属性和方法。可以将属性理解为静态的数据,将方法理解为动态的处理函数。比如,在下面的代码中定义了 “学生” 类,其中_ init _是属性,print_score 是方法。

#–coding:utf-8-

Class Student (object) :

def _ _ init_ _ (self,name,score) :

self.name= name

self.score=score

def print_score (self) :

print (‘%s: %s’% (self. _ _name,self. _ _acore) )

3. 实例化上面的类,然后分析 Python 如何利用实例化类调用类中的方法。

完整的实例化类与调用过程如下:

pupil=student (name=’lilei’,score=99)

pupil.print_score ()

按照前面的说法,self = 实例名,那么 pupil=Student (name=’lilei’,score=99) , 实例化类的第一步是执行 _ init _ 语句,即 Student (self=’pupil’,name=’lilei’,score=99) , 则可知 pupil.name=’lilei’,pupil.score=9. 实例化类的第二步是执行 pupil.print_score () 语句,调用实例的方法就是调用类的方法,而这个方法是按照格式打印出

pupil.name:pupil.score,mlilei: 99。

Python 类优势有哪些?

1. 类的访问限制

所谓类的访问限制,即在类的外部不能直接调用类中的数据。在 Python 中,在变量前加 “_ _” 可将变量置为私有变量,使其只能在类中被使用,不能被类之外的其他函数 (方法) 调用。下面代码中的 name 参数表示的就是私有变量。

#–coding:utf-8–

#_ author _=’大婶 N72’

class Student (object) :

def _ init _(self,name,score) :

self._ _name= name

self.score= score

def print_score (self) :

print (‘%s: %S’% (self._ name,self. _score) )

MeiMei=Student (‘hello’, 99)

print (MeiMei.score)

print (MeiMei. _ _name)

代码的运行结果很好地佐证了加了 “_ ” 的参数是不能被调用的,没加 “ _” 的参数是可以直接被调用的,如下所示:

C:\Python36\python3. exe F:/Autotest_interface_demo/test. py www.zpedu.com/it/rjyf/

99

Traceback (most recent call last):

File “F:/Autotest interface demo/test.py”, line 12, in

print (MeiMei._name)

AttributeError: ‘ Student’ object has no attribute’__name’

Process finished with exit code 1

2. 类的继承

所谓 “继承”, 从字面上看很好理解:如果一个类继承了另外一个类,则这个类就有了被继承的类的所有方法和属性。我们可以直接使用这些方法和属性,无须再单独写。下面举一个例子来解释什么是继承。类的基本定义如下:

# – coding:utf-8 –

# _ author _=‘大婶 N72’

# 父类

class Parent (object) :

def print_self (self) :

return “我是父类”

# 子类继承父类

class Student (Parent) :

def_ init _ (self,name,score) :

self. _ _name= name

self.score=score

def print_score (self) :

print (‘%s: %s’% (self. _ _name,self. _ _score) )

MeiMei=Student (‘hello’, 99)

print (MeiMei.score)

# 直接在子类中使用父类的方法

print (MeiMei.print_self ()

在上面的例子中,子类 Student 继承了父类 Parent. 方法是在类名称后面的小括号中加上父类的名称。子类继承了父类,则有了父类 Parent 的方法 print_self, 从而可以直接在自己的实例名中使用。

3. 类的多态

如果子类继承了父类,但是又想改变父类的方法,则这时无须修改父类的方法,只需要在子类中添加相同的方法名就可以起到覆盖的作用,这就是多态。

# – coding:utf-8 –

# _ author _=’大婶 N72’

# 父类

class Parent (object) :

def print_self (self) :

return” 我是父类”

# 子类继承父类

class Student (Parent) :

def _ init _ (self,name,score) :

self. _ _name= name

self.score=score

def print_score (self) :

print (‘%s: %S’% (self. _name,self. _ _score) )

def print_self (self) :

return” 我是子类”

MeiMei=Student (‘hello’, 99)

print (MeiMei.score)

# 子类的方法覆盖父类方法

print (MeiMei.print_self () )

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/72034
 
167 次点击