python函数之函数I
1.函数的初始
1.1面向过程式编程vs函数式编程
s1 = 'fjdkslafjdslakjfdklsaf'
res = 0
for i in s1:
res += 1
# print(res)
# 获取一个列表元素总个数
lst = [11, 22, 33, 44, 55, 66]
res = 0
for i in lst:
res += 1
# print(res)
# 获取一个集合元素的总个数
set1 = {22, 33, 44, 'barry', '轩子'}
res = 0
for i in set1:
res += 1
# print(res)
def len_(argv):
res = 0
for i in argv:
res += 1
print(res)
len_(s1)
len_(lst)
len_(set1)
-
函数的优势:
-
减少了重复代码,避免重复造轮子。
-
增强了代码的可读性。
-
1.2 函数的介绍
- 函数是以功能为导向的,一个函数封装一个功能,(比如获取对象中的最大值功能max,求和的功能sum等等),减少了代码的重复使用避免了重复造轮子,增强了代码的可读性。
2.函数的结构
def func():
函数体
def 关键字 定义函数的关键字,我们创建的变量就不能使用def关键字。
func 函数名,函数名的命名与变量的命名几乎一摸一样,如果你需要用多个单词命名函数名,一定要使用下划线。
() 是用于给函数进行传参设置形参使用的,无论传参还是不传参,小括号必须写。也可以把小括号里的叫(函数值)
:冒号是隔开定义函数的语句与函数体的。
函数体 我们这个函数实现一个功能,具体的python代码。
3.函数的执行
-
一个函数是一个功能,这个功能我们需要执行之后才可以得到结果,一个函数是如何执行的呢?
def func(): print(111) print(222) print(333) # 函数名() 执行函数的指令 func() func()
4. 函数的返回值
4.1 函数里面还会设计到一个关键字,这个关键字是return。
-
函数中,只要遇到
return
,函数马上终止。def func1(): while 1: print(111) return print(222) def func2(): for i in range(1, 4): print(i) if i == 2: return else: print('barry') def func3(): for i in range(1, 100): print(i) return func1() func2() func3()
-
return可以给函数的执行者返回值。
s1 = '12312321321312' ret = len(s1) print(ret) s1 = '12312321321312' def len_(): res = 0 for i in s1: res += 1 return res print(len_())
-
return
返回单个值的情况,返回什么类型的数据,函数的执行者就接收什么类型的数据。def func(): print(111) return 100 print(222) ret = func() print(ret, type(ret)) def func(): return 'barry' ret = func() print(ret, type(ret))
-
return
可以返回多个值。以元组的形式返回。def func1(): print(1111) return 100, 'barry', True ret = func1() print(ret, type(ret))
-
一个函数中如果不写
return
或者只写一个return
后面什么都不加,函数的执行者会介绍到def func(): a = 1 b = 2 print(a + b) return ret = func() print(ret)
-
-
return
的总结-
函数中的
return
会终止函数。 -
函数中的
return
会给函数的执行者返回值。-
函数中不写return或者只是写return后面不加数据,执行者得到None。
-
return 单个值,执行者会得到这个值,数据类型不变。
-
return 多个值,执行者会得到一个元组,元组里面就是return的多个值。
-
-
函数中的return
会终止函数。
-
函数中的
return
会给函数的执行者返回值。-
函数中不写return或者只是写return后面不加数据,执行者得到None。
-
return 单个值,执行者会得到这个值,数据类型不变。
-
return 多个值,执行者会得到一个元组,元组里面就是return的多个值。
-