设为首页 加入收藏

TOP

Python 3 学习笔记(四)----字符编码、函数与参数(二)
2017-09-30 17:00:15 】 浏览:2091
Tags:Python 学习 笔记 ---- 字符 编码 函数 参数
uot;
%b) 17 18 #当一个函数(过程型)没有使用return显示的定义返回值时,python解释器会隐式的返回None,所以在python中即便是过程也可视作函数 19 20 返回值数=0;返回None 21 返回值数=1(例如"0");返回object 22 返回值数>1(例如"0","[0,1,2.3]"多于1项);返回tupl 23 24 #为什么要有返回值?因为想要一个函数的执行结果

三、参数

形参和实参:

形参:形式参数,不是实际存在,是虚拟变量。在定义函数和函数体时使用形参,目的是在函数调用时接收实参
实参:实际参数,调用函数时传给函数的参数,可以是常量、变量、表达式、函数,传给形参

区别:形参时虚拟的,不占用内存空间,形参变量只有在调用时才分配内存单元,实参时一个变量,占用内存空间,实参传给形参,不能形参传给实参。

 

位置参数和关键字:(标准调用:实参与形参位置一一对应;关键字调用:位置无需固定)

1 def test(x,y,z):  #这里xyz叫形参
2     print(x)
3     print(y)
4     print(z)
5 
6 test(1,3,5)  #这里135叫实参。这种方式叫位置参数
7 test(y=1,x=4,z=5)  #关键字参数
8 test(1,3,z=6)   #这种写法也可以,但是关键字必须要在位置参数之后,并且不能重复

默认参数:

 1 def test1(x,z,y=2):
 2     print(x)
 3     print(y)
 4     print(z)
 5 
 6 test1(1,5)
 7 test1(1,3)
 8 
 9 #默认参数特点:调用函数的时候,默认参数非必需传递
10 #默认参数用途:软件安装时的默认选项,连接数据库时的默认端口

参数组:

 1 def test2(*args):    # *args只能接收位置参数,不能接收关键词参数
 2     print(args)
 3 
 4 test2(1,2,3,6,8,9)
 5 test2(*[2,4,6,2])   #args=tuple[2,4,6,2]
 6 
 7 def test3(x,*args):
 8     print(x)
 9     print(args)
10 
11 test3(1,2,3,4,5,6,7,8,9,)   #这里1传给x,剩下的变成元组传给args
12 
13 def test4(**kwargs):    # **kwargs:把N个关键字参数转换成字典的方式
14     print(kwargs)
15     print(kwargs["name"])
16     print(kwargs["age"])
17     print(kwargs["IQ"])
18 
19 test4(name="Irlo",age=26,sex="F",IQ=220)
20 test4(**{"name":'Irlo',"age":'26',"IQ":'220'})
21 
22 
23 def test5(name,**kwargs):
24     print(name)
25     print(kwargs)
26 
27 test5("Irlo") #如果不给kwargs传东西则返回一个空字典
28 test5("hehe",age=26,IQ=220) # **kwargs不能接收位置参数
29 
30 
31 def test6(name,age=26,**kwargs):   #参数组必须放在最后
32     print(name)
33     print(age)
34     print(kwargs)
35 
36 test6("Irlo",35,IQ=220,sex="m")  #默认参数可以用位置参数的方式赋值,或用关键字的方式赋值,如果不赋值则使用默认参数
37 
38 
39 def test7(name,age=26,*args,**kwargs):
40     print(name)
41     print(age)
42     print(args)
43     print(kwargs)
44     logger("Force")
45 
46 def logger(source):    #函数test7中嵌套一个函数logger,该logger的声明必须要早于函数test7的调用,否则报错
47     print("from %s" %source)
48 
49 test7("Irlo",54,5,IQ=220,sex="M")

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇学习笔记TF035:实现基于LSTM语言.. 下一篇迭代器与生成器

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目