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())

结果为

相关推荐
gnip7 小时前
企业级配置式表单组件封装
前端·javascript·vue.js
一只叫煤球的猫8 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
excel9 小时前
Three.js 材质(Material)详解 —— 区别、原理、场景与示例
前端
掘金安东尼9 小时前
抛弃自定义模态框:原生Dialog的实力
前端·javascript·github
databook13 小时前
Manim实现闪光轨迹特效
后端·python·动效
hj5914_前端新手13 小时前
javascript基础- 函数中 this 指向、call、apply、bind
前端·javascript
薛定谔的算法13 小时前
低代码编辑器项目设计与实现:以JSON为核心的数据驱动架构
前端·react.js·前端框架
Hilaku13 小时前
都2025年了,我们还有必要为了兼容性,去写那么多polyfill吗?
前端·javascript·css
yangcode13 小时前
iOS 苹果内购 Storekit 2
前端
LuckySusu13 小时前
【js篇】JavaScript 原型修改 vs 重写:深入理解 constructor的指向问题
前端·javascript