⾃学Python之Python基础:(三)Python代码结构
转载的⽼板请注明出处:万分感谢!
在本篇中,你将了解到:
1.关于Python注释的⽅式。
2.Python中的条件判断:if。
3.使⽤while进⾏循环。
4.使⽤for实现推导式。
5.Python中的各种参数说明。
6.Python中的⽣成器。
6.在Python中对异常进⾏捕获。
注释:
注释是程序在运⾏过程中会被Python解释器忽略的⼀段⽂字,通过注释,可以解释和明确Python代码的功能,记录将来要修改的地⽅等等。在Python中使⽤“#”字符表⽰注释,在从“#”开始到当前⾏结束的部分中的内容都是注释,既可以把注释作为单独的⼀⾏代码,也可以将注释和代码放在⼀起。
print("这是⼀⾏代码") #这是⼀⾏注释。
python基础代码语句#这也是⼀⾏注释。
''' 这是⼀个多⾏注释的代码
⽐如这样
还有这样!'''
使⽤if、elif和else进⾏⽐较:
boole = True
if boole:
print("如果结果是True,则显⽰这个")
else:
print("如果结果是False,则显⽰这个")
输出结果为:
如果结果是True,则显⽰这个
在上述代码中,⾸先判断⼀个布尔值的变量,然后根据判断的结果执⾏相应的代码。在程序中,if和else两⾏是Python⽤来声明判断条件的。⽽判断的内容则是boole这个变量,如果它的值(如果不是布尔值,则通过计算等操作得出⼀个布尔值)为True,则执⾏第⼀个代码块中的内容,反之如果结果为False,则执⾏第⼆个代码块中的内容。
web前端开发公司在Python中,是由缩进决定了if和else是如何匹配的。
boole01 = True
bolle02 = True
if boole01:
if bolle02:
print("如果两个值都为True,则执⾏这⾏代码。")
else:
print("如果boole01为True,boole02为False,则执⾏这⾏代码。")
else:
if bolle02:
print("如果boole01为False,boole02为True,则执⾏这⾏代码。")
else:
print("如果两个值都为False,则执⾏这⾏代码。")
输出结果为:
如果两个值都为True,则执⾏这⾏代码。
javascript的框架有哪些
判断多个条件:
如果要判断的条件超过两个,则可以添加多个elif。
boole01 = False
bolle02 = False
if boole01 == True:
print("如果结果是True")
elif bolle02 == False:
print("如果boole02结果是False")
else:
print("如果上述条件判断没有符合具体情况时")
输出结果为:
如果boole02结果是False
Python常见操作符:
含义符号
相等==
不等于!=
⼩于<
⼩于等于<=
⼤于>
⼤于等于>=
X 属于 XX X in XX
与and
或or
⾮not
其中:
and运算符是“与”,只有所有的结果都是True时,使⽤and运算出的结果才能是True。
or运算符是“或”,当多个结果中有⼀个True时,使⽤or运算出的结果就是True。
not运算符是“⾮”,它是单⽬运算符(不能⽐较多个公式),它可以把True变成False,同时也⽤于将False变成True。
另外,上述这些操作符,在判断公式中,都会返回布尔值的True或False。⽽且,两个等于号(==)⽤来判断是否相等,⼀个等于号(=)是将某个值赋给变量。如果需要多重⽐较,则可以使⽤布尔操作符连接表达式,以决定最终的布尔值。
什么是真(True)值:
如果表达式返回的类型不是布尔值,那么Python应该将什么样的返回值认定是True或False?以下情况全部会被编译器认为结果是False。
含义符号
布尔值False null类型None 整型0浮点型0.0字符串(空)
“”空列表[ ]空元组( )空字典{ }空集合
set( )
含义符号剩下的元素都将被认为是真(True )。
使⽤while 进⾏循环:
使⽤if 、elif 、else 等判断条件都是⾃顶部向下执⾏,但有时需要⼀些重复的操作,循环。在Python 中最简单的循环机制是while 。
使⽤break 跳出循环:
如果希望让循环在某个条件下才停⽌循环,但⼜不确定是在哪次跳出,则可以在⽆限循环中使⽤break 关键字。例如:
输出结果为:
使⽤continue 跳到循环开始:
有时候并不需要结束整个循环,⽽只是希望直接开始下⼀轮循环的开始。
输出结果为:
while True:
string = input("请输⼊字符,当字符全部内容为“哈哈”时跳出循环") if string == "哈哈": break print("循环结束")
请输⼊字符,当字符全部内容为“哈哈”时跳出循环 嘿嘿请输⼊字符,当字符全部内容为“哈哈”时跳出循环 呵呵请输⼊字符,当字符全部内容为“哈哈”时跳出循环 哈哈循环结束
while True:
value = input("请输⼊⼀个整数,如果是偶数则跳过,如果是奇数则计算出它的平⽅,输⼊Q 结束循环。") if value == "Q": # 如果输⼊结果为Q ,则跳出循环。 break
number = int(value) # 将输⼊的str 字符串转化为整数。如果输⼊⾮数字则报异常。 if number % 2 == 0: # 通过求余来判断奇偶数。 print("这是⼀个偶数")
continue # 如果结果是偶数,则继续循环。
print("这个数字是奇数,它的平⽅为:", number * number)print("循环结束")
请输⼊⼀个整数,如果是偶数则跳过,如果是奇数则计算出它的平⽅,输⼊Q 结束循环。10这是⼀个偶数
请输⼊⼀个整数,如果是偶数则跳过,如果是奇数则计算出它的平⽅,输⼊Q 结束循环。9 这个数字是奇数,它的平⽅为: 81
请输⼊⼀个整数,如果是偶数则跳过,如果是奇数则计算出它的平⽅,输⼊Q 结束循环。Q 循环结束
在循环外使⽤else:
如果在while循环正常结束,并没有使⽤break跳出的情况下,程序将进⼊到可选的else代码块中。案例如下:
numbers = [1, 3, 5, 7, 9]
position = 0
while position < len(numbers): # 如果列表不为空,则执⾏循环。
number = numbers[position]
if number % 2 == 0:
print("该数是⼀个偶数,值为:", number)
break
position += 1
else: # 如果没有被break强制跳出,则执⾏else中的代码。
print("没有发现偶数。")
print("循环结束")
使⽤for迭代:
Python频繁的使⽤迭代器,它允许在数据结构长度未知和具体实现⽅式的情况下遍历整个数据结构,并且⽀持迭代快速读写中的数据,以及允许处理不能⼀次性读⼊计算机内存的数据流的处理。
numbers = [1, 3, 5, 7, 9]
for number in numbers:
print("迭代列表的结果为::", number)
words = "word"
for word in words:
print("迭代字符串的结果为:", word)
dicts = {"A": 1, "B": 2, "C": 3}
# dicts.items()表⽰迭代字典中的Key和Value,同理可以分别使⽤.keys()和.values()
dev控件使用有中文教程for MyDict in dicts.items():
print("迭代字典的结果为:", MyDict)
输出结果为:
迭代列表的结果为::1
迭代列表的结果为::3
迭代列表的结果为::5
迭代列表的结果为::7
迭代列表的结果为::9
迭代字符串的结果为: w
迭代字符串的结果为: o
迭代字符串的结果为: r
迭代字符串的结果为: d
迭代字典的结果为: ('A', 1)
迭代字典的结果为: ('B', 2)
迭代字典的结果为: ('C', 3)
推导式:
推导式是从⼀个或多个迭代器快速⽽简洁的创建数据结构的⼀种⽅法。它可以将循环和条件判断相结合,从⽽避免语法的冗长。
列表推导式:
27的原码反码补码number_list = [number for number in range(1,14)]
print(number_list)
输出结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
这是⼀个⾮常具有Python风格创建列表⽅式的“列表推导”。
上述案例中,有两个number,实际上,是先创建第⼆个number,即:在列表中创建⼀个for循环,通过range()函数作为条件,然后将每次执⾏的结果(输出的值)赋值给第⼆个number。但这个过程中,
输出的值只是应⽤在for循环中。⽽为了将输出结果赋值给list列表,所以在for 循环之外,调⽤number这个变量。
求奇偶数:
number_list = [number for number in range(1,14) if number % 2 == 1]
print(number_list)
舍曲林分散片和舍曲林片区别输出结果为:
[1, 3, 5, 7, 9, 11, 13]
在上述代码的基础上,在推导式中加⼊⼀个if判断,当number的结果(从1⾄13)如果除以2时,如果有余数,并且余数等于1时,才将number的值加⼊到number_list中。
值得注意的是,“%”是求余符,在“%”执⾏时,会将被除数除 2(代码中指定的是2),但得出的结果并不是商,⽽是余数。
⽽如果使⽤传统的⽅法,则代码如下:
number_list2 = []
for number in range(1,14):
if number % 2 == 1:
number_list2.append(number)
print(number_list2)
当然对应的,使⽤传统⽅法可能更容易理解,但使⽤推导式会使代码更加简洁。
推导式创建元组:
由于元组是在创建后便⽆法修改的,所以必须在创建时就使其拥有所有的数据。除了可以使⽤tuple()函数将⼀个或多个列表转换为元组的值外,还可以通过推导式创建元组。
rows = range(1,6)
cols = range(1,4)
cells = [tuple(rows),tuple(cols)]
print(cells)
输出结果为:
[(1, 2, 3, 4, 5), (1, 2, 3)]
但是由于元组必须⼀次性创建,所以直接转换的⽅式⽆法创建出“单元格”,只能被动的将列表中的数据转换为元组的值,并且当我们希望对列表中的值进⾏筛选时,也⽆法做到。
请看使⽤推导式创建元组:
cells2 = [(row,col) for row in rows if row != 4for col in cols]
print(cells2)
输出结果为:
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3), (5, 1), (5, 2), (5, 3)]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论