语句(基本单位)
- 变量赋值语句
- 函数调用语句
- import语句
变量名=表达式
任意类型的表达式(运算符、常量、变量、带返回值的函数调用)
对于变量不需要事先定义,直接使用即可(类型为所赋值量的类型)
List comprehensions:返回一个list对象
Generator expressions:返回一个generator对象
Next(generator对象)
Itertools模块:cycle
+ - * / ** < //(求整商)
> and not or !=
Python使用手册查看运算符
C: if switch for while do …while
Python: if for while
For in :
Else:
(循环次数可以预估)
While:
Else:
(循环次数不可预估)
学会语句和流程控制,即是掌握一门语言结构化程序的表达方法
模块化程序:
C:一个源文件可以包含N个函数的定义
函数:可以重复执行的软件程序,操作。
Python:
def fun(a, b):
函数定义是表现出的特征:
形参:位置参数、可变数目的形参、默认值参数、关键字参数(字典参数)
位置参数与c用法一致
可变数目的形参(args是为一个list对象)
def myfun(*args)
return sum(args)
位置参数必须在可变数目参数之前
默认参数
省略
字典参数(帮助文档,查找dict属性)
Def myfun(**args):
Print()
约瑟夫环问题:N个人围成一圈,顺时针数数,数到m的人离开,直到只剩k个人。
利用itertools.cycle()
函数的调用:
myfun(x,y,z)
调用格式正确的有:
1.y = myfun(3,4,5)
2.y = myfun(z = 5, y = 4, x = 1) #根据参数名调用,防止参数过多,参数顺序出错
二者不可混用
3.myfun(*(3,4,5)) #元组解包成三个对象,赋值给变量
解包:把一个元组或字典经行解包,产生和元组或字典所含数据项数目相同的多个对象。
方法: *变量名(元组) **变量名(字典)
例如:
b = {‘x’:90,’z’:80}
**b 即为x = 90, z = 80
python里一切皆为对象,函数是一个可以调用的对象。



