一,def语句
def语句在运行的时候创建一个新的函数对象并且赋值给一个变量名
一个def语句可以出现在任一语句可以出现的地方(python中所有的语句都是实时运行的,没有编译这样的流程),甚至是嵌 套在其他的语句中
如果不写return的话会返回None
比如,函数还可以这样,嵌套在if语句中实现不同的函数定义,这也是合法的
eg:
二,参数
形参:定义函数时函数名后面的圆括号中的变量名被叫做形式参数,简称形参
实参:再调用函数时,像函数内部传递的值,称为实际参数,简称实参
必备参数:必备参数必须以真确的顺序传入函数,调用时数量必须和声明时的一样
命名参数:我们可以打乱顺序传递参数,也就是正确的传入参数值,可以跳过不传的参数值
eg:
缺省参数:也叫默认参数,默认参数的设置一定是从右向左的
需要注意的是可以覆盖掉已经定义好的name(也就是说可以传递两个参数)
eg:
不定长参数:有些时候,可能我们的函数需要更多的值,但是无法在形参处确定,那么需要使用不定长传参的方式
一种可以包装成元组,一个可以自动包装层字典
eg:
三,返回值
return可以返回任意种类的对象,同时也能返回多个值
def func():
return(1,2)
看起来这里的代码好像返回两个值,实际上只有一个,一个包含了2个元素的元组,他的圆括号是可选的,这里省略了函数
可以返回一个对象或是值,在返回一个容器对象的时候有点不同,比如列表,看起来就像是返回了多个对象。
def func():
return 1,2
func()
结果为一个元组
字符串支持相加操作
‘abc’+ ‘cde’ = ‘abcde'
字符串支持乘法操作*
‘abc’* 2 = ‘abcabc’