7.3 字典Dictionary(键值对)
创建字典:
demoDic={
"name"
:
"Tom"
,
"age"
:
10
,
"sex"
:
1
}
查看key对应的Value值:
demoDic[
"name"
]
删除字典中元素:
del
demoDic[
"name"
]
清空字典:
demoDic.clear()
向字典中插入新的元素:
demoDic[
"school"
]=
"XD"
字典中元素可以是混合数据类型,且Key值不可变,Key元素可以为数字、字符串、元组(tuple)等,不能为List,字典中Key值必须唯一。
8 函数(Funciton)
8.1 函数定义声明
不带参数及带参数的函数定义
def
say_hi():
print
(
"hi!"
)
say_hi()
say_hi()
def
print_two_sum(a,b):
print
(a+b)
print_two_sum(
3
,
6
)
def
repeated_strings(str,times):
repeateStrings=str*
3
return
repeateStrings
getStrings=repeated_strings(
"hello "
,
3
)
print
(getStrings)
在函数中声明全局变量使用
global
x
x=
80
def
foo():
global
x
print
(
"x is "
,str(x))
x=
3
print
(
"x changed "
,str(x))
foo()
print
(
"x is "
,str(x))
8.2 参数
默认参数:调用函数时,未给出参数值,此时使用默认参数
def
repeated_string(string,times=
1
):
repeated_strings=string*times
return
repeated_strings
print
(repeated_string(
"hello "
))
print
(repeated_string(
"hello "
,
4
))
默认参数之后的参数也必须是默认参数
关键字参数:在函数调用时,指明调用参数的关键字
def
fun(a,b=
3
,c=
6
):
print
(
"a:"
+str(a)+
" b:"
+str(b)+
" c:"
+str(c))
fun(
1
,
4
)
fun(
10
,c=
8
)
VarArgs参数:参数个数不确定情况下使用
带*参数为非关键字提供的参数
带**参数为含有关键字提供的参数
def
func(fstr,*numbers,**strings):
print
(
"fstr:"
,fstr)
print
(
"numbers:"
,numbers)
print
(
"strings:"
,strings)
func(
"hello"
,
1
,
2
,
3
,str1=
"aaa"
,str2=
"bbb"
,str3=
4
)
9 控制流
9.1 if语句&for循环
if用法
num=
36
guess=int(input(
"Enter a number:"
))
if
guess==num:
print
(
"You win!"
)
elif
guess<num:
print
(
"The number you input is smaller to the true number!"
)
else
:
print
(
"
The
number you input is bigger to the true number!"
)
print
(
"Done"
)
for用法,其中
range(
1
,
10
)为1-9的数字,不包含10
for
i
in
range(
1
,
10
):
print
(i)
else
:
print
(
"over"
)
且for对于List、Tupel以及Dictionary依然适用
a_list=[
1
,
2
,
3
,
4
,
5
]
for
i
in
a_list:
print
(i)
b_tuple=(
1
,
2
,
3
,
4
,
5
)
for
i
in
b_tuple:
print
(i)
c_dict={
"Bob"
:
15
,
"Tom"
:
12
,
"Lucy"
:
10
}
for
elen
in
c_dict:
print
(elen+
":"
+str(c_dict[elen]))
9.2 while循环
num=
66
guess_flag=
False
while
guess_flag==
False
:
guess=int(input(
"Enter an number:"
))
if
guess==num:
guess_flag=
True
elif
guess<num:
print
(
"The number you input is smaller to the true number!"
)
else
:
print
(
"The number you input is bigger to the true number!"
)
print
(
"You win!"
)
9.3 break&continue&pass
num=
66
while
True
:
guess=int(input(
"Enter an number:"
))
if
guess==num:
print
(
"you win!"
)
break
elif
guess<num:
print
(
"The number you input is smaller to the true number!"
)
continue
else
:
print
(
"The number you input is bigger to the true number!"
)
continue
pass执行下一条语句,相当于什么都不做
a_list=[
0
,
1
,
2
]
print
(
"using continue:"
)
for
i
in
a_list:
if
not
i:
continue
print
(i)
print
(
"using pass:"
)
for
i
in
a_list:
if
not
i:
pass
print
(i)