python 基础学习 (七)

本贴最后更新于 729 天前,其中的信息可能已经时过境迁

函数
一、什么是函数【掌握】
1、定义:一段可以直接被另外一个程序或者代码引用的代码或者程序就叫函数
print(sum([1, 2, 3]))
2、python自定义函数,值提供一些基础功能

二、自定义函数【掌握】
1、语法
def 函数名称():
""" 代码块 """
return 返回值
2、例子

print("python56")
num = 100
return num

3、函数调用【掌握】
函数名()

print("python56")
num = 100
return num
result = function_name()
print(result)
print(function_name())

4、函数返回值(return)【掌握】
1、return可以不写,默认返回None
2、如果写了return后面不写值,默认返回None
3、如果函数需要返回数据,就一定要写return语句
4、return是函数运行结束的标识符,函数内部return下面的代码不会被执行
5、返回多个值用逗号隔开return "success",100
例子

print("hello python")
return "success",100
result,num = test_01()
print(result)
print(num)
print("hello python")
return "success",100
result = test_01()
print(result[1],type(result))

拓展
1、字典创建方式

res = dict([("age",20),('python','老王')])

函数参数
一、概念【掌握】
形参:占个坑,这里有数据要传进来
实参:函数调用的时候实际传进来的数据

二、必须参数【掌握】
定义:函数调用的时候必须要传的参数就叫必须参数
如果不传就会报错:TypeError: test_01() missing 1 required positional argument: 'name3'
特点:
1、必须要传,不传会报错
2、要按位置传

print(name1)
print(name2)
print(name3)test_01('老刘','李四','老王')test_01('李四','老刘','老王')

三、关键字参数【掌握】
1、在调用函数的时候参数传递以 key = value的方式传递就叫关键字参数

print(f'my name is {name} age {age}')
test_01(name="张三",age=20)
test_01(age=20,name="张三")

特点:
1、允许传递参数位置不一致
2、类似于给某个形参赋值

print(f'my name is {name} age {age}')
test_01(name="张三",age=20)
test_01(age=20,name="张三")

四、默认参数【掌握】
1、在定义函数的时候给必须参数直接赋值的就叫默认参数

print(f'my name is {name} age {age}')

特点:
1、默认参数在函数调用的时候可以不传
2、默认参数不传值,就使用默认值
3、默认参数传了值,使用传入的值
4、默认参数在函数定义的时候必须要放在必须参数后面

五、不定长参数【掌握】
1、函数定义的时候不确定要传入多少个参数,这个时候就用*args语法来代替多个必须参数,
用**kwargs来代替多个关键字参数
2、语法

print('元组:',args)
print('字典:',kwargs)
test_01('张三','李四',age=20,name='老王')

3、特点
1、函数调用的时候不定长参数可以不传
2、*args:接收必须参数(所有按位置传入的必须参数)
3、**kwargs:接收关键字参数(按关键字传入的参数)

4、使用场景举例

return sum(args)
res = test_sum(100,90,99,89,89,77)
print(res)

拆包【了解】
1、*: 对list,元组进行拆包

return sum(args)
test_list = [90,40,60,89,90,78,46]
res = test_01(*test_list)  # test_01(90,40,60,89,90,78,46)
print(res)

2、**: 对字典进行拆包

print(kwargs)
test_dict = {"name":"老王","age":20}
test_01(**test_dict) # test_01(name="老王",age=20)

变量的作用域【掌握】
一、概念
全局变量:在函数外面定义的变量就叫全局变量,整个py文件可用
局部变量:定义在函数内部的变量叫局部变量,只能在函数内部时候用

全局变量【掌握】

def test_01():
print(num)
def test_02():
print(num)
print(num)
test_01()
test_02()

二、global 关键字【了解】
1、作用:将局部变量声明为全局变量
2、语法:先声明,再赋值
3、代码

global name #声明name为全局变量
name = "张三" #给全局变量赋值
print(name)def test_02():
print(name)test_01()
test_02()

拓展lambda进行字典排序:
import operator

test_dict = {"key1":32,"key33":1,"key2":60}tor.itemgetter(1)) key=32

res = sorted(test_dict.items(),key=lambda yyy:yyy[1]) #('key1', 32)[1] print(res)

内置函数
1、常用内置函数
int、random、set、str、tuple、sum、list、dict、id、type、bool、range、sorted、ord、chr、print、len、max、min、input、format
2、查看内置函数
import builtins
print(dir(builtins))

高阶函数
一、匿名函数
1、语法:res = lambda 参数1,参数2:返回值表达式

print(res(3,4))

2、特点
1、不需要起名字
2、单一功能的代码就用lambda实现
3、应用字典排序

res = sorted(test_dict.items(),key=lambda x:x[0],reverse=True)   #('key1', 32)[1]
print(res)
回帖
请输入回帖内容 ...