特殊类型
py包含几个特殊类型,True,False都是特殊的内置类型。他们是0和1的特殊表现,其含义为“真”和“否”。注意这点与其他语言的不同,比如c里0表示否,非0表示真。
True和False作为比较,问句或其他一些操作的结果。
比较两值相等
注意,单个等号表示赋值给某个变量,比较是否相等用的是两个等号:
<pre name="code" class="python">>>> 1 == 1
True
>>> 1 == 2
False
>>> "a" == "a"
True
py会比较两端的值,如果相等则返回True,否则返回False。
即使类型不同,py也可以比较:
>>> 1 == 1.0
True
>>> 1 == "1"
False
将字符串的截取和比较相结合:
>>> a = "a young man"
>>> b = "a old man"
>>> a[-len("man"):-1] == b[-len("man"):-1]
True
也可以对序列和字典等进行比较,不过序列要求顺序与内容完全相同,字典要求每个键与值的与另一个完全相同:
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> c = [2,3,1]
>>> a == b
True
>>> a == c
False
>>> a = {1:1,2:2}
>>> b = {1:1,2:2}
>>> c = {2:2,1:1}
>>> a == b
True
>>> a == c
True
比较两个值不等
感叹号表示否定,通过!=来比较两个值是否不等
>>> 1 != 1
False
>>> 2 != 1
True
!=的结果与==相反。
比较两值大小
py提供了<和>两个符号用于比较大小:
>>> 1 > 2
False
>>> 2 < 3
True
对字符的排序可以参考ascii码表,在码表上值越大的,在大于小于的判断中就越大。一般来说从小到大是“A”最小,然后一直到“Z”,“a”比"Z"大,最大是"z"。
>>> "a" > "b"
False
>>> "a" > "B"
True
对字符串比较时py会从第一个开始比较,直到找到一个不同的字符为止,由这两个字符的比较结果来决定最终的结果:
>>> "hello py" > "hello PY"
True
<这里介绍两个方法,分别是可以让字符串中所有大写字符变小写的lower,和让所有小写字符变大写的upper
>>> "Hello".lower() == "hello"
True
>>> "Hello".upper() == "HELLO"
True
>
此外py也支持大于等于和小于等于:
>>> 2 >= 2
True
>>> 3 <= 1
False
取反值
使用单词not对判断结果取反:
>>> not True
False
>>> not 0
True
对多个结果进行合并
就是py中的“与”和“或”操作,有“and”和“or”表示:
>>> True or False
True
>>> True and False
False
让判断影响程序
使用py中的保留字if可以让程序根据真与否运行出不同的结果:
>>> if 1 > 2:
print("NO")
>>> if 2 > 1:
print("Yes")
Yes
仅当if和冒号之间的值为真是才执行下面一段
代码
块
。
代码块指有相同缩进的一句或多句代码,他们在程序中与其他部分相对独立。在py中出现冒号时,就说明py要执行某块代码块了。py通过缩进确定代码块,所以缩进很重要,我们应使用编译器确定缩进。
因为if里执行了一段代码,而if本身也是一句代码,所以我们可以嵌套的使用if:
>>> score = 61
>>> if(score > 60):
if(score < 70):
print("及格")
if(score > 70):
print("优秀")
这里如果score<60的话剩下的两个判断都不会被执行。
elif和else
可以使用elif进行一个以if开头的连续的判断,用else来处理剩下的情况:
>>> score = 87
>>> if(score < 60):
print("不及格")
elif(score < 70):
print("及格")
elif(score < 80):
print("良好")
else:
print("优秀")
优秀
如果前三个判断都为否的话就执行最后的else。