python语法整理(二)
end 关键字
关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:
#!/usr/bin/python3 # Fibonacci series: 斐波纳契数列 # 两个元素的总和确定了下一个数 a, b = 0, 1 while b < 1000: print(b, end=',') a, b = b, a+b
输出结果:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
if语句
if 语句1: 程序块1 elif 语句2: 程序块2 else: 程序块3
注意:
- 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
- 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
- 3、在Python中没有switch – case语句。
以下为if中常用的操作运算符:< 、 <= 、 > 、 >= 、 == 、 !=
if 嵌套
if 表达式1: 语句 if 表达式2: 语句 elif 表达式3: 语句 else: 语句 elif 表达式4: 语句 else: 语句
循环语句
Python 中的循环语句有 for 和 while。
Python 中 while 语句的一般形式
while 判断条件: 执行语句……
同样需要注意冒号和缩进。另外,在 Python 中没有 do..while 循环。
while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块。
while 条件: 执行语句1 else: 执行语句2
如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中,如:
flag = 1 while (flag): print ('欢迎访问菜鸟教程!')
无限循环
我们可以通过设置条件表达式永远不为 false 来实现无限循环,如
while var == 1 : # 表达式永远为 true
num = int(input("输入一个数字 :"))
print ("你输入的数字是: ", num)
可以使用 CTRL+C 来退出当前的无限循环。
无限循环在服务器上客户端的实时请求非常有用。
for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for <variable> in <sequence>: <statements> else: <statements>
range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列
>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] >>> for i in range(len(a)): ... print(i, a[i]) ... 0 Google 1 Baidu 2 Runoob 3 Taobao 4 QQ >>>
break 和 continue 语句及循环中的 else 子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
pass 语句
Python pass是空语句,是为了保持程序结构的完整性
pass 不做任何事情,一般用做占位语句,如下实例
>>>while True: ... pass # 等待键盘中断 (Ctrl+C)
Python3 迭代器
迭代是Python最强大的功能之一,是访问集合元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组对象都可用于创建迭代器,迭代器对象可以使用常规for语句进行遍历:
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
类的方法
在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
创建一个迭代器
把一个类作为一个迭代器使用需要在类中实现两个方法 __iter__() 与 __next__() 。如果你已经了解的面向对象编程,就知道类都有一个构造函数,Python 的构造函数为 __init__(), 它会在对象初始化的时候执行。
带有 yield 的函数在 Python 中被称之为 generator(生成器),生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
Python3 函数
函数内可以访问全局变量,但不能更新(修改)其值!函数也可以以一个函数为它的参数:
定义一个函数
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def 函数名(参数列表): 函数体
函数调用
定义一个函数:给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行。
#!/usr/bin/python3 # 计算面积函数 def area(width, height): return width * height def print_welcome(name): print("Welcome", name) #直接调用 print_welcome("Runoob") w = 4 h = 5 #通过函数调用执行 print("width =", w, " height =", h, " area =", area(w, h))
输出结果:
Welcome Runoob
width = 4 height = 5 area = 20
参数
必需参数
必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
#!/usr/bin/python3 #可写函数说明 def printme( str ): "打印任何传入的字符串" print (str) return # 调用 printme 函数,不加参数会报错 printme()
Traceback (most recent call last): File "test.py", line 10, in <module> printme() TypeError: printme() missing 1 required positional argument: 'str'
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数函数调用时参数的顺序可以与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
默认参数
调用函数时,如果没有传递参数,则会使用默认参数
#!/usr/bin/python3 #可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print ("名字: ", name) print ("年龄: ", age) return #调用printinfo函数 printinfo( age=50, name="runoob" ) print ("------------------------") printinfo( name="runoob" )
输出结果:
名字: runoob 年龄: 50 ------------------------ 名字: runoob 年龄: 35
默认参数必须放在最后面,否则会报:
SyntaxError: non-default argument follows default argument
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名。基本语法如下
def 函数名(参数1,*参数 ): "函数_文档字符串" function_suite #调用函数 return 值
加了 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
如果在函数调用时没有指定参数,它就是一个空元组。
还有一种就是参数带两个星号 **如下:
def 函数名(参数1,**参数 ):
"函数_文档字符串"
function_suite #调用函数
return 值
加了两个星号 ** 的参数会以字典的形式导入。存放所有未命名的变量参数。
声明函数时,参数中星号 * 可以单独出现,如果单独出现星号 * 的,星号 *后的参数必须用关键字传入。
>>> def func(country,province,**kwargs): ... print(country,province,kwargs) ... >>> func("China","Sichuan",city = "Chengdu", section = "JingJiang") China Sichuan {'city': 'Chengdu', 'section': 'JingJiang'}
匿名函数
python 使用 lambda 来创建匿名函数。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
语法: lambda 参数1,参数2……:表达式
return语句
return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
函数返回值的注意事项: 不同于 C 语言,Python 函数可以返回多个值,多个值以元组的方式返回:

浙公网安备 33010602011771号