目录
直接调用的是函数
通过对象点出来的是方法
print("hello")
a = [2, 1, 3]
a.sort()
print(a)
常规函数定义,有返回值的,跟无返回值的
Python对于参数的传入是没有类型限制的
不过可以通过给参数添加类型,提示调用时应传入的类型
- # 定义函数
- def say(name):
- print(f'{name}:say hell')
-
- say('张三')
- print("====================定义函数=====================")
-
- # 有参有返回
- def say1(name1):
- return name1
-
-
- print(say1("李四"))
- print("====================有参有返回=====================")
-
- # 无参有返回
- def say2():
- return "被调用"
-
-
- print(say2())
- print("====================无参有返回=====================")
-
-
- # 无参无返回
- def say3():
- print("无参无返回")
-
- # Java:反射调用方法,方法被void修饰,是有返回值 ,是null
- # Python:无参无返回,方法被调用,返回值是none
- print(say3())
- print("====================无参无返回=====================")
-
- # 在Java中函数和方法是同一个东西
- # Python中
- # 函数指的是可以单独调用的,比如print/type
- #方法指的是不能单独调用,l1 = [1,2,3,4] l1.extend({1})
运行:

- # def add(a, b):
- # return a + b
- #
- #
- # print(add(1,2))
-
- # 直接锁定参数类型 若在调用时传入类型不匹配的则会给出提示
- # def add1(a:int, b:int):
- # return a + b
- #
- #
- # print(add1(1,2))
-
- # 设置默认值
- # def add2(a, b=2):
- # return a + b
- #
- #
- # print(add2(1,4))
-
- # 常见传参
- # 1.位置传参
- # res(1, 2)
- # 2.关键字传参
- # add(a=3,b=6)
-
- # 3.缺省传参
- # def res(a, b=3):
- # print(a)
- # print(b)
- # res(1)
- # res(1,2)
-
- # 其他传参
- """
- 可变传参-元组 tuple
- """
- def add(*a):
- print(a)
- print(type(a))
- add(1,2,3,4,5,6,7)
-
- # 利用可变参数的方式计算1-10的和
- def he(*h):
- total = 0
- for i in h:
- total += i
- return total
-
-
- print(he(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
-
- """
- 可变传参-字典dict
- """
- def chen(**a):
- print(a)
- print(type(a))
- # print(a.values())
- for i in a.values():
- print(i)
- chen(a=2,b=3,c=4)
运行:

利用python可以返回多个值的特点,完成一个案例
- # python中的返回值
- # 计算最大值、最小值、所有元素求和
- def jisuan(*arr):
- min = arr[0]
- max = arr[0]
- total = 0
- for i in arr:
- # java:min = min < i ? min :i
- min = min if min < i else i
- max = max if max > i else i
- total += i
- return min,max,total
-
-
- print(jisuan(1, 2, 3, 4, 5))
运行

使用递归完成求和(1-100)、
- # 递归求和1-100的和
- def sum(n):
- if n < 2:
- return n
- else:
- return n + sum(n - 1)
-
-
- print(sum(100))
运行

- # lambda表达式
- def add(a,b):
- return a+b
-
-
- print(add(1, 3))
- print("=====================================")
- # python 中的表达式只能存在一行代码,使用 python 中的 lambda 来简化函数
- # 形式
- jia = lambda a,b:a+b
- print(jia(1, 3))
- print("=====================================")
- """
- 案列
- """
- arr = [1,2,3,4,5,6,7]
- # 将列表arr中的所有元素都*2
- arr2 = map(lambda a:a*2,arr)
-
- for i in arr2:
- print(i)
- print("=====================================")
-
- #将两个数组对应位置的元素值相加
- a= [1,2,3,4,5,6,7]
- b= [8,9,10,11,12,13,14]
- xj = lambda a,b:a+b
- # e1代表a列表中的其中一个元素 e2代表b列表对应位置下的那个元素
- c = map(lambda e1,e2:e1+e2,a,b)
- for i in c:
- print(i)
- print("=====================================")
-
- # filter函数
- d = filter(lambda e:e>5,b)
- for i in d:
- print(i)
- print("=====================================")
-
- # 字典排序 使用 lambda 对字典数据进行排序
- persons = [
- {"name": "张三", "age": 20},
- {"name": "李四", "age": 17},
- {"name": "王麻子", "age": 21}
- ]
- persons.sort(key=lambda p: p['age'], reverse=True)
- print(persons)
运行

