Python中函数的建立

函数是编程语言中的结构化元素,用于对语句进行分组,这样便可以在程序中多次使用。

函数的好处

  • 有助于将程序分解成更小的块(模块化)
  • 提高程序的可理解性和质量
  • 避免重复并使代码可重用
  • 降低了软件开发和维护的成本

一、函数定义

使用def语句定义,一般定义语法如下:

                                                           def    函数名( ) :

                                                                      函数体

  • 关键字 def:标志着函数头的开始
  • 函数名(function_name):唯一标识一个函数,函数命名遵循标识符的编写规则。
  • 参数(parameters):通过它可以将值传递给函数,是可选的。
  • 冒号(:):用于标记函数头的结尾。
  • 文档字符串(docstring):用于描述函数的功能,是可选的。
  • 函数体:由一个或多个有效的 python 语句构成,语句必须具有相同的缩进级别(通常为 4 个空格)。
  • return 语句:用于从函数返回一个值,可选的。

eg:

def mypow(x,y=2):            ##函数名
    pow_ = x**y              ##函数体
    return pow_              ##返回值
num = mypow(2)               ##使用函数
print(num)

在编写代码时,建议在代码里定义一个主函数。def main

二.函数动态添加成员

1.动态添加

def hap():
        print(hap.x)
hap.x = 3            
hap()
hap.x = 5
hap()

 

2.动态删除

def hap():
        print(hap.x)
hap.x = 3
hap()
hap.x = 5
hap()
del fun.x
fun()

三.函数形参的分类

参数:形参、实参

形参:位置参数、默认参数、可变参数、关键字参数

1.位置参数:形参和实参位置必须保持一致

def info(name,age):
    print(name,age)
info('villa','28')

2.默认参数:形参实参可以不一致

def mypow(x,y=2):
    pow_ = x**y
    return pow_
print(mypow(2),mypow(2,4),mypow(3,6))

3.可变参数

要定义可变参数,仅需在参数名之前添加一个星号(*)。

def mySum(*args):
    sum = 0
    for item in args:
        sum += item
    print(sum)
print(mySum(1,2,3,4,54,325,34))

注意:*args是可变参数;(args可以接收任意值)
             args是元组数据类型
             args可以改成其他,因为是形参

4.关键字参数

还有一种机制,用于任意数量的关键字参数。为了做到这一点,使用双星号(**):

def getStuInfo(name,age,**kwargs):
    print (name,age)
    print (kwargs)
getStuInfo('villa',35,hobbies = ['soccer','running'],gender = 'female')

对list、tuple、set解包时,只需要在变量前加*

对对字典解包,一个星号,获取所有的key值

四.函数返回值

什么是返回值

函数运算的结果,还需要进一步操作时,给一个返回值;return用来返回函数执行结果的,如果没有返回,默认为None(null,none)。
python可以间接返回多个值;原理:返回一个元组,将来对元组进行解包,一旦遇到return,函数函数执行结束,后面的代码不会结束(yield)。

返回一个值

def mypow(x,y=2):
    return x**y
a = mypow(4,3)
print(mypow(2),mypow(2,4),mypow(3,6))

返回多个值

def mypow(x,y=2):
    return x**y,x/y,x+y
a = mypow(4,3)
print(mypow(2),mypow(2,4),mypow(3,6))
print(a,type(a))

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值