定义函数
注意在创建函数时,即使函数不需要参数,也必须保留一对空的“()”,否则 Python 解释器将提示“invaild syntax”错误。另外,如果想定义一个没有任何功能的空函数,可以使用 pass 语句作为占位符
定义函数,也就是创建一个函数,可以理解为创建一个具有某种或者多个功能的工具。定义函数需要用 def 关键字实现,具体的语法格式如下:
def 函数名(参数列表): ??? 实现特定功能的代码 ??? [return [返回值]]
[return [返回值] ]:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定。下面就是一个没有带返回值的一个打印函数yyw()。
def yyw():
print("111")
调用函数
使用函数名称后跟括号即yyw()就可以调用例如
def yyw()
print("111")
yyw()#在这就可以调用功能为打印111的函数
111
为了更好的理解调用引入简单的len()函数即获取一个字符串长度和strmax()比较大小函数
#自定义 len() 函数
def len(str):
length = 0#定义初始长度为0
for c in str:#这里的for (char c:str)就是定义一个遍历字符c,让它分别等于字符串数组str里面的各个字符,然后执行下面的语句,当c遍历str里面所有字符各一次后,就会退出这个循环。
length = length + 1
return length
#调用自定义的 len() 函数
length = len("11111")
print(length)
#再次调用 len() 函数
length = len("111111")
print(length)
5
6
#定义个空函数,没有实际意义,函数名最好能够体现出该函数的功能尽量不要用abc之类简单的函数yyw()只是为了强调原创
def nothing()
pass
#定义一个比较字符串大小的函数
def str_max(str1,str2):
str = str1 if str1 > str2 else str2
return str
nothing()#没有意义即没有输出值
strmax = str_max("11111","111111");
print(strmax)
111111
为了读者更好理解定义封装调用我把代码分开解释 def nothing() ? ? pass
在这定义了一个没有意义的函数nothing() def nothing() ? ? pass def str_max(str1,str2): ? ? str = str1 if str1 > str2 else str2 ? ? return str 在这就把定义的两个函数封装完成
nothing() strmax = str_max("11111","111111"); 在这就把刚刚定义的函数调用实现相对应的功能
|