本文共 1633 字,大约阅读时间需要 5 分钟。
函数是直接被调用,而方法是通过对象调用。函数可以独立存在,而方法则是属于某个类的实例。
示例:
print("hello") 是一个函数。l1.append(2) 是一个方法,l1 是一个 list 实例。Python允许定义有返回值和无返回值的函数。
示例:
def func(a, b): return a + b
func 是一个有返回值的函数。def func(): 是一个无返回值的函数。Python支持参数类型提示,提高代码可维护性。
def say1(name1): return name1
调用方式:say1("李四")
def say2(): return "被调用"
调用方式:say2()
def say3(): print("无参无返回") 调用方式:say3()
在 Java 中,方法被 void 修饰后返回 null,而 Python 中无参无返回的方法返回 None。
res(1, 2)add(a=3, b=6)def res(a, b=3),调用方式:res(1) 或 res(1, 2)可变参数示例:
def add(*a): print(a) print(type(a))add(1, 2, 3, 4, 5, 6, 7)
字典参数示例:
def chen(**a): print(a) print(type(a))chen(a=2, b=3, c=4)
利用 Python 的返回值特点,完成一个案例:
def jisuan(*arr): min = arr[0] max = arr[0] total = 0 for i in arr: if i < min: min = i if i > max: max = i total += i return min, max, total
调用方式:print(jisuan(1, 2, 3, 4, 5))
使用递归完成求和(1-100):
def sum(n): if n < 2: return n else: return n + sum(n - 1)print(sum(100))
Python 中的 lambda 表达式用于简化函数定义。
示例:
jia = lambda a, b: a + bprint(jia(1, 3))
案例:
arr = [1, 2, 3, 4, 5, 6, 7]arr2 = map(lambda a: a * 2, arr)for i in arr2: print(i)
案例:
a = [1, 2, 3, 4, 5, 6, 7]b = [8, 9, 10, 11, 12, 13, 14]xj = lambda a, b: a + bc = map(lambda e1, e2: e1 + e2, a, b)for i in c: print(i)
案例:
d = filter(lambda e: e > 5, b)for i in d: print(i)
案例:
persons = [ {"name": "张三", "age": 20}, {"name": "李四", "age": 17}, {"name": "王麻子", "age": 21}]persons.sort(key=lambda p: p['age'], reverse=True)print(persons) 转载地址:http://wdlfk.baihongyu.com/