软件测试|Python基础之面向对象(三)

简介: 软件测试|Python基础之面向对象(三)

Python面向对象之动态静态方法

动静态方法

在类中定义的函数有多种特性

  1. 直接在类中定义函数

再类中直接定义函数,默认绑定给对象,类调用时有几个参数就要传几个参数,对象调用时该函数的第一个参数默认为对象

# 定义一个类
class Student:
    # 类公用数据
    school_name = '家里蹲大学'

    # 对象独有数据
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    # 类公用方法(函数、功能)
    def curricula_variable(self):
        print(f'{self.name}正在选课')


# 类直接调用功能
stu1 = Student('kangkang', 18, 'male')
Student.curricula_variable(stu1)
---------------------------------------------------------------------------
kangkang正在选课
  1. 绑定给类的函数

被@classmenthod修饰的函数,默认绑定给类,类调用第一个参数就是类自身,对象也可以调用,应且会自动将产生该对象的类当作第一个参数传入

# 定义一个类
class Student:
    # 类公用数据
    school_name = '家里蹲大学'

    # 对象独有数据
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    # 类公用方法(函数、功能)
    def curricula_variable(self):
        print(f'{self.name}正在选课')

    @classmethod
    def func(cls):  # 绑定给类的函数,第一位新参为cls
        print('我是默认绑定给类的功能', cls)


# 类可直接调用
Student.func()
# 对象调用
stu1 = Student('kangkang', 18, 'mela')
stu1.func()
-----------------------------------------------------------------------------
我是默认绑定给类的功能 <class '__main__.Student'>
我是默认绑定给类的功能 <class '__main__.Student'>
  1. 被修饰的普通函数

被@staticmethod修饰的函数,是普通的函数,此函数无论是类还是对象调用,都必须手动传参

# 定义一个类
class Student:
    # 类公用数据
    school_name = '家里蹲大学'

    # 对象独有数据
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    # 类公用方法(函数、功能)
    def curricula_variable(self):
        print(f'{self.name}正在选课')

    @classmethod
    def func(cls):
        print('我是默认绑定给类的功能', cls)

    @staticmethod
    def func2(aaa):
        print(f'我是 {aaa} 被修饰的普通函数,调用我都需要手动传参', )


# 类直接调用
Student.func2('普通函数')
# 对象调用
stu1 = Student('kangkang', 18, 'mela')
stu1.func2('普通函数')
----------------------------------------------------------------------------------

我是 普通函数 被修饰的普通函数,调用我都需要手动传参
我是 普通函数 被修饰的普通函数,调用我都需要手动传参
相关文章
|
1月前
|
Java 程序员 C++
Python 面向对象详解!
本文详细介绍了Python中的面向对象编程(OOP),包括类、对象、继承、封装、多态和抽象等核心概念。通过具体示例,解释了如何使用类定义对象的属性和方法,以及如何通过继承实现代码重用。文章还探讨了封装和多态的重要性,并介绍了私有属性和抽象类的使用方法。最后,总结了OOP的四大支柱:封装、抽象、继承和多态,强调了这些概念在Python编程中的应用。适合Java程序员扩展Python编程知识。
70 2
|
1月前
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
|
1月前
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
|
30天前
|
Python
Python面向对象(2)
【10月更文挑战第14天】
Python面向对象(2)
|
1月前
|
设计模式 程序员 C语言
Python面向对象
【10月更文挑战第13天】
Python面向对象
|
23天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
25 1
|
14天前
|
Web App开发 测试技术 数据安全/隐私保护
自动化测试的魔法:使用Python进行Web应用测试
【10月更文挑战第32天】本文将带你走进自动化测试的世界,通过Python和Selenium库的力量,展示如何轻松对Web应用进行自动化测试。我们将一起探索编写简单而强大的测试脚本的秘诀,并理解如何利用这些脚本来确保我们的软件质量。无论你是测试新手还是希望提升自动化测试技能的开发者,这篇文章都将为你打开一扇门,让你看到自动化测试不仅可行,而且充满乐趣。
|
1月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。
|
2月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
|
2月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象