赞
踩
一段可以被另外一段代码执行的程序
- def 函数名():
-
- 函数体--语法
-
- return 需要的返回值
- 函数名()
-
-
-
- # 定义函数*
- def test_function():
- print('我是一个测试函数')
- # 调用函数*
-
- if name == 'main':
- test_function()
-
- 我是一个测试函数
不传会报错
- def 函数名(参数1,参数2...)
-
- 函数体
-
- 函数名(传参1,传参2)
-
-
-
- def test_function(name, age):
- print('我是一个测试函数')*
- *if name == 'main':
- test_function('Alison', '25')
- def 函数名(参数1,参数2...)
-
- 函数体
-
- 函数名(参数1=传参1,参数2=传参2)
-
- def test_function(name, age):
- print('我是一个测试函数')
- if name == 'main':
- test_function(name='Alison', age='25')
可以传任意多个参数进来
并以tuple接收
- def test_function(*args):
- print(args)
- if name == 'main':
- test_function('name','age','test')
-
- ('name', 'age', 'test')
不确定需要传递多少个参数的时候,使用关键字参数的形式传递
并以dict接收
- def test_function(**kwargs):
- print(kwargs)
- if name == 'main':
- test_function(name='Alison', age=25, sex='女')
-
- {'name': 'Alison', 'age': 25, 'sex': '女'}
位置必须args在前,kwargs在后
分别以tuple、dict接收
- def test_function(*args,**kwargs):
- print(args)
- print(kwargs)
- if name == 'main':
- test_function(1,2,3,4,5,name='Alison', age=25)
-
- (1, 2, 3, 4, 5)
-
- {'name': 'Alison', 'age': 25}
函数定义的时候就给一个默认值
如果函数调用的时候传入了参数,就是用传入的参数;反之,则使用默认参数
默认参数可以不传递
- def test_function(name='Alison',age=25):
- print(name,age)
- if name == 'main':
- test_function('Taylor')
-
-
-
- Taylor 25
用于参数传递
1. *
2. **
- *args
-
- def test_function(*args):
- print(args)
- list = [1,2,3,4]
- test_function(*list)
-
- (1, 2, 3, 4)
-
-
-
- **kwargs
-
- def test_function(**kwargs):
- print(kwargs)
-
- dict = {'key1':'val1','key2':'val2'}
- test_function(dict) #相当于('key1'='val1','key2'='val2')
-
- {'key1': 'val1', 'key2': 'val2'}
如果需要返回值,就写return返回内容
反之,就不写,默认返回none
Return是函数执行结束的标识,函数执行遇到return语句,就会结束执行
- def test_function(name):
- return name
- if name == 'main':
- result =test_function('张三')
- print(result)
-
- 张三
-
-
-
- def test_function():
- for i in range(10): #0~9*
- ***print(i)
- if i == 3:
- return 0
- elif i == 4:
- print('test')
-
- test_function()
-
- 0
-
- 1
-
- 2
-
- 3
定义在函数里面,仅限包含的函数可以使用
定义在函数外面,供全局函数使用
- num = '全局变量'
- def test_function1():
- num = '局部变量'
- print(num)
- def test_function2():
- print(num)
-
- test_function1()
- test_function2()
局部变量
全局变量
(更好用的方法是 类:类属性)
将局部变量设置成全局变量
语法:global 变量名
注意:只能定义,不能直接赋值,否则会报错
- def function():
- global test_str
- test_str = 'test'
- print(test_str)
-
- def function2():
- function() #只有在函数运行起来才会在内存中去创建变量,否则代码没运行,直接调用会出错
- print(test_str)
-
- function2()
-
- test
-
- test
生成一个从0到x的序列对象,左闭右开
参数:[0、4,1]
1. start:默认为0
2. Stop:必传参
3. step:默认为1,同切片
用途:利用下标操作list
- list_1 = ['a', 'b', 'c', 'd']
- for k in range(len(list_1)): # k: 下标,通过下标打印*
- ***print(list_1[k])
-
- 2.7.2. Isinstance()****
- 判断一个函数对象是否是一个已知类型,返回布尔值
-
- num = 1
- res = isinstance(num,int)
- print(res)
-
- True
Zip(列表1,列表2)****
- def test():
- list1 = ['name', 'sex', 'age']
- list2 = ['Alison', 'F', '25']
- key_val = zip(list1, list2)
- print(list(key_val))
- if name == 'main':
- test()
-
- [('name', 'Alison'), ('sex', 'F'), ('age', '25')]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。