西安千度网站建设,出口家具东莞网站建设,电子商务网站的功能,福田网络推广公司分支和循环
if
if 语句用于根据条件控制代码需要执行的逻辑。 示例#xff1a;
age 20if age 18:print(成年人)
elif age 13 and age 18:print(青少年)
else:print(儿童)在这个示例中#xff0c;首先检查 age 是否大…分支和循环
if
if 语句用于根据条件控制代码需要执行的逻辑。 示例
age 20if age 18:print(成年人)
elif age 13 and age 18:print(青少年)
else:print(儿童)在这个示例中首先检查 age 是否大于或等于18如果是则输出 “成年人”。如果不是则继续检查 age 是否在13至17岁之间如果是则输出 “青少年”。如果上述两个条件都不满足则执行 else 子句输出 “儿童”。 注意每个条件后面都需要跟一个冒号并且在条件为真的情况下执行的代码需要适当的缩进通常是4个空格或者1个制表符。此外Python中用于判断条件的表达式可以是任意能够计算出布尔值True或者False的表达式。 关于代码缩进Python 使用严格的代码缩进表示代码块一般为四个空格多加空格或少加空格都会引发语法错误。 当代码块中不需要执行实际的逻辑时为了让程序能正常运行可以使用 pass 表示什么都不做如
if some_condition:pass # 什么都不做
else:...Python 中没有 switch-case 语句。
Python中的空置判断
Python中判断一个值是否为空可以使用is None、is not None、None、!None。
# is None
variable None
if variable is None:# 变量variable是None...
else:# 变量variable不是Noneis not None则相反
# 使用is not None
if variable is not None:# 变量variable不是None...
else:# 变量variable是None# 使用 None
if variable None:# 可能适用于某些情况但在比较复杂类型时可能引起意料之外的结果
else:# 变量variable不等于None# 使用 ! None
if variable ! None:# 变量variable不等于None
else:# 变量variable等于None尽管 和 ! 在大多数情况下也能工作但由于is关键字专门用来检测两个对象是否是同一个对象引用对于None这样的单例对象而言is操作符提供了更加准确且符合直觉的比较。同时考虑到Python的动态类型特性直接用 is None 或 is not None 检查空值避免了潜在的类型转换陷阱 因此在实践中更推荐使用这两种形式。
Python的条件表达式
# val_is_true if condition else val_is_false
age 25
status 成年 if age 18 else 未成年for 和 while 语句
for循环
for循环主要用于遍历任何可迭代对象包括但不限于列表、元组、字符串、字典、集合以及生成器等。 基础示例
fruits [apple, banana, cherry]for fruit in fruits:print(fruit) # apple banana cherry另外可选else子句
for item in iterable:# 循环体# 执行相关逻辑
# 可选else子句会在循环结束后非break跳出的情况下执行
else:...示例
numbers [1, 2, 3, 4, 5]
found_even Falsefor number in numbers:if number % 2 0:found_even Trueprint(f找到偶数{number})break
else:print(列表中没有找到偶数)# 如果在循环体中找到偶数并执行了break则else部分不会被执行
# 如果在循环正常结束即没有执行breakelse部分将会被执行while循环
while循环会不断地执行循环体内的代码直到指定的条件不再满足为止。
while conditon:# 这里是循环体 只要条件为True就会一直执行# 执行相关操作# 可选的else子句同样在循环结束以后非break跳出情况下执行
else:举例
count 0
while count 5:print(count) # 0 1 2 3 4count 1区别
for循环常用语已知次数或遍历已知集合的情况。while循环适用于不确定循环次数需要依赖某种条件才能决定何时退出循环的情况。for循环通常与迭代器配合使用无需手动管理索引或迭代过程。while循环在需要不断检查某个状态或者条件时更有优势循环次数往往不能事先确定。 共同点 二者都可以通过break语句提前跳出循环也可以通过continue语句跳过本次循环进入下一轮循环并且都支持使用else子句在特定条件下执行额外的代码块。
range 函数enumerate 函数 breakcontinue
range() 函数在Python中用于生成一个整数序列只要配合for循环来遍历一定范围内的数字。
range(stop)
range(start, stop)
range(start, stop, step)stop 参数指定了序列结束位置不包含该值本身。start 参数是序列开始的位置默认是0。step 参数定义了序列中相邻两个元素之间的差值默认为1。
for i in range(5):print(i) # 0 1 2 3 4for i in range(1, 6, 2):print(i) # 1 3 5enumerate() 函数用于将一个可迭代对象如列表、元组或其他序列类型组合成一个索引序列同时列出数据项及其相应的索引。这在需要同时访问序列中的索引和值时非常有用。其基本语法如下
enumrate(iterable, start0)iterable是要枚举的对象start指定计数从哪个数字开始默认为0
fruits [apple, banana, cherry]
for index, fruit in enumrate(fruits):print(findex:{index}, fruit: {fruit})# index:0, fruit: apple# index:1, fruit: banana# index:2, fruit: cherrybreak语句用于强制退出当前正在执行的循环无论是for还是while循环。一旦执行到break程序将立即离开循环结构继续执行循环之后的代码。
for num in range(10):if num 5:breakprint(num) # 0 1 2 3 4 (不会打印5及5后的数字continue语句用于跳过当前循环体中剩余的语句然后直接进入下一轮循环的判断阶段。当执行到continue时本次循环余下的代码将被忽略。
for num in range(10):if num % 2 0:continueprint(num) # 1 3 5 7 9 (只打印基数每次遇到偶数时就跳过输出并进入下一次循环列表推导与字典推导
列表推导List Comprehension和字典推导Dictionary Comprehension是Python中两种高效简洁的创建序列结构的方法。
列表推导
列表推导允许你从其他可迭代对象如列表、元组、字符串、range对象等中创建一个新的列表。它的基本形式是将一个表达式嵌入在[]方括号内并可能包含循环和条件判断。
numbers [1, 2, 3, 4, 5]
# 使用列表推导生成一个新的列表其中每个元素都是原列表元素的平方
squared_numbers [n**2 for n in numbers]
# [1, 4, 9, 16, 25]# 同时还可以添加条件过滤
even_squared [n**2 for n in number if n % 2 0]
# [4, 16]字典推导
字典推导与列表推导类似但它用来创建字典而不是列表。字典推导采用一对键值对的形式置于花括号内{}内并同样支持循环和条件判断。
# 姓名
names [Alice, Bob, Charlie]
# 年龄
ages [25, 30, 35]# 使用字典推导创建一个字典键为姓名值为年龄
person_dict {name:age for name, age in zip(names, ages)}
# 结果 {Alice:25, Bob: 30, Charlie:35}# 添加条件过滤只保留年龄大于30的人
adults_dict {name: age for name, age in zip(names, ages) if age 30}列表推导和字典推导都是Python中简化和优化代码的有效手段尤其是处理大量数据转换和筛选时尤为实用。 zip 是 Python 内置函数它用于将多个可迭代对象在这个例子中是 names 和 ages 两个列表的元素按序配对。具体来说zip 函数会返回一个迭代器这个迭代器会产生由输入序列中相对应位置的元素组成的元组。对于每一个输入序列zip 函数都会取出相同索引位置上的元素直到任一输入序列耗尽为止。