print:打印表达式,多个表达式之间可以通过逗号(, 英文)进行分隔
>>> print('Hello', 'World')
Hello World
粗略解释一下表达式和语句,有个概念就行
表达式:有返回值的语句
语句:一句程序语言,语句包含表达式
例:0 < 10 是表达式(比较表达式,返回True),但 x = 10就不是表达式,它就是一条赋值语句,表示将10赋值给变量x(整条语句无返回结果),于是此处引出了在python中怎么表示相等的问题 ?答:用 ==(双等于), 0 == 10是表达式(比较表达式,返回False)
import:从模块导入函数
>>> import somemodule[模块名]
>>> somemodules.xxx
>>> import somemodule[模块名] as alias[别名]
>>> alias.xxx
>>> from somemodule[模块名] import somefunction[函数名]
>>> somefunction(xxx)
>>> from somemodule[模块名] import somefunction[函数名] as func1[别名]
>>> func1(xxx)
>>> from somemodule[模块名] import somefunction[函数名] as func1[别名], anotherfunction[函数名] as func2[别名]
>>> func1(xxx)
>>> func2(xxx)
>>> from somemodule[模块名] import * # 导入全部函数
>>> somefunction(xxx)
>>> anotherfunction(xxx)
将多个值的序列解开,然后放到变量的序列中
将同一个值同时赋给多个变量的捷径
语句块并非一种语句,语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句。在代码前放置空格来缩进语句即可创建语句块。Python中每个缩进需要4个空格。
布尔值:True - 真、False - 假
Python中下面的值作为布尔表达式的时候,会被解释器看作假(False):
False | None | 0 | "" | () | [] | {} |
否 | 空 | 零 | 空字符串 | 空元组 | 空列表 | 空字典 |
可以通过bool函数进行验证
>>> bool("")
False
仅条件表达式判断为真(True),才会执行内部的语句块
基本结构:
if 条件表达式:
语句块
条件表达式判断为否(False),才会执行else内部的语句块
基本结构:
if 条件表达式:
语句块
else:
语句块
需要检查多个条件,此时就可以使用elif了,elif就是具有条件的else子句
基本结构:
if 条件表达式:
语句块
elif 条件表达式:
语句块
else:
语句块
if语句里面还可以嵌套if语句,甚至可以嵌套多层,但不便于代码阅读,属于代码坏味道
基本结构:
if 条件表达式:
if 条件表达式:
语句块
else:
语句块
else:
语句块
==(相等)、<(小于)、>(大于)、>=(大于等于)、<=(小于等于)、!=(不等于)、is(是同一个对象)、is not(不是同一个对象)、in(是成员)、not in(不是成员)
返回结果都是布尔值:True / False
★ 着重讲几个需要记住的点:
① == 和 is 的区别
== 比较的是值,is 比较的是值以及是否是同一个对象(即值和内存地址是否都一样),示例中的疑问,参阅 python小数据池
② 字符串比较、序列比较,按从左到右的原则挨个字符进行比较,字符在ASCII码表中排在前面的小
PS:序列比较的时候结构必须一致,否则比较是没有意义的
③ in 和 not in 是相对的比较运算符,一般用于字符串和其他序列中检测成员资格(是否被包含)
and(与)、or(或)、not(非)
这三个运算符可随意组合
★ 着重说明一下短路逻辑
and运算符,仅多个表达式都为真才会返回真,只要有一个表达式为False则结束运算,返回真,否则会一直运算到最后一个表达式
or运算符,至少一个条件为真则结束运算,返回真,否则会一直运算到最后一个表达式
作用:避免了无用地执行代码
assert
仅当条件不满足的时候,才会使程序停止执行并报错
作用:可以用来检查参数的属性或作为初期测试和调试的辅助条件,TA可以让程序立马停止执行并打印出错误描述信息(需要编码进去的)
while 条件: # 此处的条件一定是当为False的时候循环结束,否则会陷入死循环
语句块
while True:
语句块
if 条件:
break
for [变量] in [可迭代对象]:
语句块
第一种方法,循环时取到的是字典的key,通过d[key]的方式取值
第二种方法,循环字典的键值对可迭代对象,通过k,v去接收元组(序列解包),更便捷
第一种方法,通过range函数构建一个range对象range(0,5),for循环此对象,取到的i分别为:0,1,2,3,4,于是再通过i取得x和y列表中相应索引的值
第二种方法:通过zip函数构建一个序列,序列中每个元素是元组,每个元组分别是x和y同等序号的值组成的,通过for循环从zip函数结果中取出每个元组并通过序列解包赋值给i,j,更便捷
使用enumerate函数,for循环取出每个元组并通过序列解包赋值给index,s,第一个元素即为索引
sorted(排序)、reversed(翻转)
不是原地修改对象,而是返回翻转或排序后的版本
break(跳出本层循环),continue(终止本次循环)
break跳出for循环后,外层的while循环依然执行
continue仅终止本次循环,因此未打印x=2, i=4 以及 x=3, i=4
for 与 else 配合
当for循环中未执行break,则循环结束后会执行else子句;反之,则不执行else子句
列表推导式(list comprehension)是利用其他列表创建新列表(类似于数学术语中的集合推导式)的一种方法
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
Python基础-常用语句的介绍到此就结束了,如何灵活运用还是靠理解和练习,后面的教程将给各位带来Python的几个特殊的语句(pass、del、exec和eval),快来跟随作者一起领略Python编程之美吧 ~