python的函数与类的定义

目录

1.函数

1.函数的定义

2.输入参数与输出参数的类型

3.输入和输出多个参数

1.普通参数

2.含有任意数量的参数

3.关键字参数

4.普通参数与多个参数的结合

2.类

1.类的定义

2.类的实例化

3.继承


1.函数

1.函数的定义

python 复制代码
def 函数名(输入参数): 
    ''' 文档字符串 ''' 
    函数体 
    return 输出参数 

文档字符串用来说明函数的作用

函数体就是实现功能的代码

return可有可无,看是否需要返回内容

2.输入参数与输出参数的类型

函数的输入参数与输出参数均可以为任意的变量类型

该节内容以一个输入参数和一个输出参数为例

python 复制代码
def Output(v):
    '''返回输入的内容'''
    return v
python 复制代码
print(Output('str'))
print(Output(11.0))
print(Output([1,2,3]))

结果为

3.输入和输出多个参数

1.普通参数

输入若干个参数,输出若干个参数

python 复制代码
def jiajian(m,n):
    '''返回两个数的和与差'''
    return m+n,m-n
a,b=jiajian(3,4)
print(a,b)

结果为

2.含有任意数量的参数

上一篇文章有介绍到,即 *xxxxx,类似于C语言中的*型变量

python 复制代码
def Output(*arg):
    '''返回输入的内容'''
    return arg
print(Output(1,[2,3]))

结果为

要注意的是返回的时候是arg而不是*arg

3.关键字参数

关键字参数允许在函数调用时使用参数名来指定参数,而不必严格按照函数定义中参数的顺序。

结果为

这里涉及到了参数的默认值,即message='hello'

也涉及到了关键字的调用,可以不安顺序调用,但是要指明关键字

4.普通参数与多个参数的结合

python 复制代码
def Output(v,*arg):
    '''返回输入的内容'''
    return v,arg
a,*b=Output(1,[1,2],3)
print(a)
print(b)

结果为

2.类

类定义了一种对象的属性和方法,可以创建多个具有相同属性和方法的对象。

一个类包含一个__init__方法 + 很多自定义方法, __init__特殊方法前后均有两个下划线,每一个类中都必须包含此方法。当创建一个类的实例时,__init__方法会自动被调用。

1.类的定义

python 复制代码
class Counter: 
    '''一台可以加减的计算器''' 
     
    def __init__(self, a, b): 
        '''初始化方法,接收两个参数a和b,并将它们赋值给实例的属性''' 
        self.a = a 
        self.b = b 
         
    def add(self): 
        '''加法方法,返回a和b的和''' 
        return self.a + self.b  
         
    def sub(self): 
        '''减法方法,返回a和b的差''' 
        return self.a - self.b

此外类的定义中也可以有默认值,和函数类似,可以改变

2.类的实例化

类的实例化是指根据类的定义创建类的实例(也称为对象)。实例化类的过程涉及使用类作为模板,根据类的定义创建一个具体的对象。要实例化类,可以使用类的名称后跟括号()来调用类。这将创建一个类的实例,也称为对象。可以将类的实例赋值给一个变量,以便后续使用。

python 复制代码
co1=Counter(3,4)#实例化一个类,为co1
print(co1.add(),co1.sub())

结果为

3.继承

允许一个类从另一个类继承属性和方法,被继承的类称为父类或基类,继承属性和方法的类称为子类或派生类。子类可以获得父类的属性和方法,并可以添加自己的属性和方法,或者重写父类的方法。

以上面的Counter类为例,我们定义一个更高级的类,在此基础上加一个乘法和除法。

python 复制代码
class CounterNew(Counter): #指明父类
    '''一台可以加减的计算器''' 
     
    def __init__(self, a, b): 
        '''初始化方法,接收两个参数a和b,并将它们赋值给实例的属性''' 
        super().__init__(a,b) #继承父类的方法
         
    def mul(self): 
        '''加法方法,返回a和b的和''' 
        return self.a * self.b  
         
    def div(self): 
        '''减法方法,返回a和b的差''' 
        return self.a / self.b

对其实例化

python 复制代码
coun=CounterNew(3,4)
print(coun.add(),coun.sub(),coun.mul(),coun.div())

结果为

相关推荐
健康平安的活着18 分钟前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
WBluuue1 小时前
数学建模:智能优化算法
python·机器学习·数学建模·爬山算法·启发式算法·聚类·模拟退火算法
小小愿望1 小时前
前端无法获取响应头(如 Content-Disposition)的原因与解决方案
前端·后端
小小愿望1 小时前
项目启功需要添加SKIP_PREFLIGHT_CHECK=true该怎么办?
前端
烛阴1 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript
赴3351 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩1 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp
RPA+AI十二工作室1 小时前
亚马逊店铺绩效巡检_影刀RPA源码解读
chrome·python·rpa·影刀
DjangoJason2 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq
海上彼尚2 小时前
使用 npm-run-all2 简化你的 npm 脚本工作流
前端·npm·node.js