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

结果为

相关推荐
sunbyte几秒前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | GoodCheapFast(Good - Cheap - Fast三选二开关)
前端·javascript·css·vue.js·tailwindcss
前端的日常2 分钟前
网页视频录制新技巧,代码实现超简单!
前端
前端的日常3 分钟前
什么是 TypeScript 中的泛型?请给出一个使用泛型的示例。
前端
ccc10187 分钟前
老师问我localhost和127.0.0.1,有什么区别?
前端
Struggler28114 分钟前
Chrome插件开发
前端
倔强青铜三21 分钟前
苦练Python第23天:元组秘籍与妙用
人工智能·python·面试
apihz22 分钟前
域名WHOIS信息查询免费API使用指南
android·开发语言·数据库·网络协议·tcp/ip
前端 贾公子27 分钟前
Monorepo + vite 怎么热更新
前端
coding随想36 分钟前
掌控网页的魔法之书:JavaScript DOM的奇幻之旅
开发语言·javascript·ecmascript
Norvyn_744 分钟前
LeetCode|Day18|20. 有效的括号|Python刷题笔记
笔记·python·leetcode