python个人笔记,方便查询,与侵权无关。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
函数的定义:
def
test():
print
"hello world!"
test()
#调用上面的test函数
定义一个参数为name的函数:
def
mingzi(name):
print
"hello %s,how old are you?"
%
name
mingzi(
'darren'
)
#调用定义的函数
定义两个参数的函数:
def
info(name,age):
print
"%s,%s"
%
(name,age)
info(
'darren'
,
'23'
)
#调用两个参数的函数
给函数添加一个帮助文档:
def
mingzi(name):
'this is a help doc!'
print
"hello %s,how old are you?"
%
name
n
=
"darren"
mingzi(n)
#也可以先赋值再调用函数
>>>
import
tab
>>>
import
three
>>>
help
(three.mingzi)
#查看自己编写的帮助文档
局部变量和全局变量:
局部变量:函数执行结束以后会失去作用。
def
info (name):
age
=
22
print
'your name is %s,you old is %s'
%
(name,age)
info(
'darren'
)
全局变量:在函数之外,全局生效。
age
=
26
def
info (name):
age
=
22
print
'your name is %s,you old is %s'
%
(name,age)
info(
'darren'
)
声明把全局变量变为局部变量(不建议使用):
age
=
26
def
info (name):
global
age
#声明
age
=
22
print
'your name is %s,you old is %s'
%
(name,age)
info(
'darren'
)
print
'age:'
,age
#此处第一个age:是显示age:并不是变量,后面的才是变量,这是让一个print生成两段内容的用法。
函数的默认参数:
def
users(username,group
=
'iphone'
):
#group='iphone'这里也是一个赋值变量,只不过如果不赋值,默认是iphone。
list
=
{}
#定义一个字典
list
[username]
=
group
#定义username为key,group为value,意思就是修改key的值为变量group
return
list
print
users(
'wang'
)
print
users(
'wangjia'
,
"dongge"
)
多默认值变量:
def
info (name,age,internation
=
'zhongguo'
,provice
=
'shandong'
):
age
=
22
print
'your name is %s,you old is %s'
%
(name,age)
print
internation,provice
info(
'darren'
,
'age'
,provice
=
'beijing'
,internation
=
'meiguo'
)
#默认赋值的变量可以没有顺序,但是无默认值的变量必须在有默认值得变量的前面。
函数的关键参数:
def
fun(a,b
=
5
,c
=
10
):
print
a,b,c
fun(
3
,
7
)
fun(
25
,c
=
24
)
fun(c
=
50
,a
=
100
)
#重点:函数增加一个特殊参数,可以任意赋多个值。
def
test(
*
.args):
print
args
test(
'darren'
,
'wang'
,
'29'
)
#把一个字典赋值给函数,字典key对应的值就是变量。
def
testa (
*
*
kargs):
print
kargs
name_list
=
{
'name'
=
'wang'
,
'age'
=
'22'
,
'iphone'
=
'pingguo'
}
testa(name
=
'darren'
,age
=
'18'
,iphone
=
'sanxing'
)
#有时候我们希望能把函数执行的结果保存下来,这时候就需要return参数:
def
users(username,group
=
'iphone'
):
list
=
{}
list
[username]
=
group
return
list
yonghu
=
users(
'wang'
,
'group='
linux')
print
yonghu
lambda
匿名函数:
>>> a
=
lambda
x:x
+
2
>>> a(
2
)
4
-
-
-
-
-
-
-
a
=
range
(
10
)
map
(
lambda
x:x
*
*
2
,a)
-
-
-
-
-
-
-
-
def
f(x):
return
x
*
*
2
print
f(
4
)
普通函数和下面
lambda
函数相同
g
=
lambda
x:x
*
*
2
print
g(
4
)
-
-
-
-
-
-
-
-
-
-
|
本文转自 王家东哥 51CTO博客,原文链接:http://blog.51cto.com/xiaodongge/1877781