Python基础知识学习
1.函数的相关知识
掌握几个概念:
函数是能完成某一块功能的代码块
1.形参:形参是在定义函数时,定义的一个参数,主要是用于占据一个参数位置,不具有实际的参数值;
2.实参:在函数调用时,在形参位置赋予形参的值;
3.关键字参数:在函数调用时,利用关键字进行参数赋值;
4.默认参数:在函数定义时,给形参赋值,作为默认参数使用;
5.收集参数/可变参数:在函数定义时,可能形参的数量是不确定的,因此,采用*形参的方式,定义不确定数量的形参
#1.函数
#1.1形参-实参示例
def first_function(num1,num2):
return(num1*num2)
print(first_function(3,2))
#1.2关键字参数
def say_word(people,words):
return(people+'最'+words)
print(say_word(people='小甲鱼',words='爱吃鱼'))
#1.3默认参数!!!!!有默认值的参数要在没有默认值的参数的后面,不然会报错
def say_words(words,people='小甲鱼'):
return(people+'最'+words)
print(say_words(words='爱吃鱼'))
#1.4可变参数
def add(*parameter):
return(parameter[0]+parameter[1]+parameter[2])
print(add(1,4,7,33))
python默认输出的是None,也可以设定输出值
#1.2局部变量与全局变量
#函数体内部对应的是局部变量,定义在函数体外部的是全局变量
#price,rate,final_price是局部变量, old_price,rate,new_price是全局变量
#如果在函数体内部修改全局变量的值,则会在函数体内部生成一个同名的局部变量,全局变量的值不会被改变
def discount(price,rate):
final_price = price * rate
return(final_price)
old_price = float(input('请输入原价:'))
rate = float(input('请输入折扣价:'))
new_price = discount(old_price,rate)
print('打折后的价格是:',new_price)
#1.3内嵌函数
def func1():
print('打印第一个函数:')
func2()
def func2():
print('小甲鱼是最好玩的!')
print(func1())
#1.4闭包(在func2函数内部调用了外部的func1函数的参数x)
def func1(x):
def func2(y):
return x*y
return func2
print(func1(8)(3))
#强制声明x是非局部变量
def func1(x):
def func2():
nonlocal x
x = x+1
return x
return func2()
print(func1(5))
Python使用lambda命名匿名函数
#1.5lambda匿名函数
#lambda 原函数的参数: 原函数的返回值
g = lambda x: 2*x +1
print(g(5))
g = lambda x,y: x+y*2
print(g(3,5))
#1.6内置函数 filter()-过滤器 map()--映射
#help(filter)
#利用filter与lambda实现偶数剔除
#方式1
def odd(x):
return (x % 2)
temp = range(10)
show = filter(odd,temp)
print(list(show))
#方式2--range(10)--代表可迭代的元素
print(list(filter(lambda x: x%2,range(10))))
print(list(map(lambda x: x*2,range(10))))
#1.7递归--一个棒的编程思路--递归定义树结构的结构体
def factorial(n):
if n == 1:
return 1
else:
return n*factorial(n-1)
input = int(input('请输入要阶乘的值:'))
result = factorial(input)
print('%d 的阶乘是 %d' % (input,result))