python基础-函数

定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 d e f 关 键 词 \color{red} def 关键词 def开头,后接 函 数 标 识 符 名 称 和 圆 括 号 ( ) \color{red}函数标识符名称和圆括号() ()
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]
def printme(str):
    "打印传入的字符串到标准显示屏上"
    print(str)
    return
printme("123")
# 123

参数传递
python中一切都是对象,参数传递是可变对象和不可变对象
可变对象:list,dict
不可变对象:strings,tuples,numbers

def mut(a):
    "传入不可变"
    a = 10
    return
b=2
mut(b)
print(b)
# 2
def immut(mylist):
    "修改传入的列表"
    mylist.append([1,2,3,4])
    print(mylist)
    return
mylist1 = [10,20,30]
immut(mylist1)
print(mylist1)
# [10, 20, 30, [1, 2, 3, 4]]
# [10, 20, 30, [1, 2, 3, 4]]

参数
调用函数时可使用的正式参数类型
必备参数:须以正确的顺序传入函数,调用时的数量必须和声明时的一样。
关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值,使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值

def op(name,age,sex="male"):
    print("name",name)
    print("age",age)
    print("sex",sex)
    return

op(age = 30, name = "wang")
# name wang
# age 30

默认参数:调用参数的值如果没有传入,则被认为是默认值
不定长参数:

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]
def op1(name,*vartuple):
    print('name',name)
    for var in vartuple:
        print(var)
    return

op1('wang')
op1('wang','shi','bo')
# name wang
# name wang
# shi
# bo

匿名函数:python 使用lambda来创建匿名函数
lambda只是一个表达式,函数体比del简单的多,拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数

#语法结构
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1,arg2:arg1+arg2
print(sum(10,20))
# 30

变量作用域
全局变量:定义在函数外的拥有全局作用域,可以在整个程序范围内访问
局部变量:只能在其被声明的函数内部访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值