`

python:面向对象(类)

阅读更多
python:面向对象(类)

类定义:Python3中,如果新建的类没有继承任何其他类,默认继承基础类object。Python2中如果没有显式继承object类就是经典类,而显式继承了object类就是新式类,Python2推荐使用新式类。

2、类变量:类变量就是直接在类中,但是在方法外定义的变量。类变量是所有该类的实例所共有的,且类的每个实例都可以修改类变量。

3、成员变量:成员变量就是在定义时加了self前缀的变量,一般在__init__方法就定义了,成员变量会跟着实例“一起走”。

4、类的继承:直接在类后括号里加上要继承的类就行,继承多个类时,类之间用逗号分隔即可。

5、成员方法:新建方法时默认为新建一个成员方法,方法的第一个参数必须为self,self代表着实例本身,相当于每次都会将实例本身当参数传进去。

6、类方法:方法“头上”加上装饰器@classmethod,方法的第一个参数必须为cls,代表着类本身。

7、静态方法:方法“头上”加上装饰器@staticmethod,即普通函数,参数没有强制要求。

8、特殊方法:

__init__:类的初始化方法,在一个类实例化之后会自动调用这个方法,实例化时传进去的参数也是按这个初始化方法来定的。
__new__:类的构造方法,该方法返回本类的一个实例。执行完此方法后,会自动调用类的__init__方法来初始化该实例,需要注意的是,如果自己重写了这个方法,一定要返回本类的实例,否则执行__new__后不会调用__init__。
__call__:当一个实例对象以函数的形式调用时,就会执行此方法,前提是类中已经定义了此方法,没有定义的话,就会报错。例如:a = A(),a()就会调用类A中__call__方法,当然,如果没有定义__call__,就会报错。
__str__:面向用户的方法,使用print打印类实例时,如果类重写了方法__str__,会优先打印输出__str__的返回值,如果没有重写这个方法就会打印__repr__方法的返回值。
__repr__:面向Python本身的方法,默认返回值为类实例的内存地址,直接输出者类实例时,如在Python的IDLE中直接“>>> a”(a为类A的实例),就会打印__repr__的返回值。

# 推荐使用新式类,即继承object
class User(object):
    name = 30  
    age = 50

    #构造函数
    def __init__(self, para1, para2):
        self.para1 = para1
        self.para2 = para2

    def func1(self):
        print('hello, guys!')

    def func2(self, para3):
        self.para3 = para3

    @staticmethod
    def func3():
        return 'static method'

    @classmethod
    def func4(cls):
        cls.name = 'lisi'

user1 = User('hi', 'hello')
user2 = User('python', 'java')
user1.func1()
user2.func1()
user1.func2('hei!')
print(user1.name)
print(user2.age)
print(user2.para1)
print(user1.para2)
print(user1.para3)
分享到:
评论

相关推荐

    Python进阶:面向对象编程与模块化设计

    Python进阶:面向对象编程与模块化设计Python进阶:面向对象编程与模块化设计Python进阶:面向对象编程与模块化设计Python进阶:面向对象编程与模块化设计Python进阶:面向对象编程与模块化设计Python进阶:面向对象...

    Python:面向对象编程在Python中的应用

    ### 面向对象编程在Python中的应用 #### 一、面向对象编程基础 面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用于软件开发中的编程范式。其核心思想是将数据和处理这些数据的方法组织在一起...

    Python 3面向对象编程

    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...

    Python面向对象之类和对象实例详解

    本文实例讲述了Python面向对象之类和对象。分享给大家供大家参考,具体如下: 类和对象(1) 对象是什么? 对象=属性(静态)+方法(动态); 属性一般是一个个变量;方法是一个个函数; #类的属性 就是 类变量 #...

    Python3 面向对象编程

    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...

    python面向对象练习题.pdf

    ### Python面向对象编程知识点解析 #### 一、面向对象三大特性及作用 **1. 封装** 封装是面向对象编程中的一个重要概念,它通过隐藏类的内部细节并对外提供公共接口来保护数据的安全性和完整性。封装使得类的使用...

    python面向对象

    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和...在视频课程“Python面向对象精彩讲解”中,会详细阐述这些概念,并通过实例演示如何在实际开发中应用它们。

    Python教程:面向对象.pdf

    在Python中,面向对象编程是其核心特性之一,允许程序员创建类(Class)和对象(Instance),实现代码的组织和抽象。 **类(Class)**: 类是面向对象编程的基础,它定义了一种数据结构,包括数据(即属性或域)和...

    python面向对象课件

    本课件详细介绍了Python中的面向对象特性,包括类、对象、继承、封装、多态等关键概念。 1. 类与对象: 在Python中,类是一种模板,用于定义一组属性(数据成员)和方法(函数)。通过类,我们可以创建具有相同属性...

    Python3面向对象编程

    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...

    Python+3面向对象编程.

    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...

    Python 面向对象(基础篇).pdf

    Python面向对象是指一种编程思想和方法,它强调将问题域中的对象和概念抽象化,定义类和对象,并使用它们来描述和解决问题。Python面向对象编程是一种编程思想和方法,它强调将问题域中的对象和概念抽象化,定义类和...

    python自动化测试18:面向对象类和方法

    python面向对象介绍及实例说明 python面向过程介绍及实例说明

    面向对象编程基础_python面向对象_python教程_

    以上就是Python面向对象编程的基本概念和特性。掌握这些基础知识,能帮助你更好地理解和编写Python程序,尤其在处理复杂逻辑和大型项目时,面向对象编程的优势会更加明显。在实际应用中,不断实践和探索,才能真正...

    Python 面向对象编程

    Python的面向对象编程是其强大的特性之一,它允许开发者通过创建和使用类来构建复杂的软件结构。面向对象编程(OOP)的核心理念是封装、继承和多态,这些概念在Python中得到了很好的实现。 1. **类的定义** 在...

    Python 面向对象(进阶篇).pdf

    Python面向对象编程是一种基于类和对象概念的编程范式,它支持封装、继承和多态等面向对象的特性。在面向对象编程中,类可以看作是对象的蓝图或模板,而对象则是根据类创建的实例。类中可以定义字段(数据成员)、...

Global site tag (gtag.js) - Google Analytics