比较运算符
布尔类型
布尔值有两个:True和False
例1:
a = True
a
例2:
2 == 3
提示:
1.不要把赋值(一个等号)与比较(两个等号)混淆。
2.Python是区分大小写的,所以True与true是不同的
不等于运算符
不等于运算符:!= 两边比较的项不相等时为True,相等则为False
例1:
1 != 1
False
例2:
3 != 5
True
大于 小于
python中使用<和>运算符来判断一个数字(浮点数或整数)是大于还是小于另一个数
例1:
2 > 4
False
例2:
9.0 > 3
True
大于等于 小于等于
python中使用>=和<=运算符来判断一个数字(浮点数或整数)是大于等于还是小于等于另一个数
例1:
1 >= 4
False
例2:
3 <= 9.0
True
提示:也可以使用比较运算符来按字母顺序比较字符串
例1:
"a" < "b"
True
例2:
"A" < "a"
True
判断语句
if语句
if 3 > 2:
print("ok")
提示:Python中使用缩进(一行的开始处的空白)来分隔代码块。
而其他语言如c语言则使用大括号来实现分隔代码块,(但在python中必须使用缩进)
例:
if 38 > 4:
print('38>4')
print('end')
描述:表达式38>4。于是执行缩进的代码块,所以会输出’38>4’。然后运行if语句之后的代码,并显示‘end’。
注1 :if语句表达式末尾使用冒号,不要忘记这个冒号。
注2 :由于程序包含多行代码,因此应该将其作为单独的代码创建并运行。
num = 15
if num > 5:
print("5")
if num <= 47:
print("47")
注:if语句允许嵌套使用,可用于执行复杂的判断。
内部if语句是外部语句的代码块部分。这是查看是否满足多个条件的一种方法。
else语句
x = 4
if x == 5:
print('yes')
else:
print('no')
注:else语句跟随在if语句之后,当if语句表达式计算结果为False时执行else的代码块。
和if语句一样,块内代码应该缩进。
num = 7
if num == 5:
print("number is 5")
else:
if num == 11:
print("number is 11")
else:
if num == 7:
print("number is 7")
else:
print("number isn\'t 5,11 or 7")
注:可以嵌套使用if/else语句,进行更加复杂的判断。
num = 7
if num == 5:
print("number is 5")
elif num == 11:
print("number is 11")
elif num == 7:
print("number is 7")
else:
print("number isn\'t 5, 11 or 7")
注:1. elif(else if的简写)语句是if和else语句使用的快捷方式。一系列if elif语句可以有一个最终的else块,如果if elif语句条件均不成立时会调用else代码块。
2. 在其他编程语句中,elif语句有不同的名称,包括else if,elseif或elsif。但在python中只能用elif,而不能识别else if。
逻辑运算符
且 ,或 ,非 and, or, not
逻辑运算符:用于为依赖于多个条件的if语句创建更复杂的条件。
python的布尔运算符分别是and,or和not
and 运算符有两个参数,只有两个参数都为True时,结果为True。否则结果为False
or 运算符有两个参数,只要两个参数有一个为True,结果就为True。否则结果为False
not 运算符只有一个参数,参数为True,结果就为False。否则结果为True
例1:
print(1 == 1 and 23 > 7)
print(2 == 1 and 34 > 3)
print(3 == 2 and 33 > 43)
print(1 == 1 or 23 > 7)
print(2 == 1 or 34 > 3)
print(3 == 2 or 33 > 43)
print(not 2 == 2)
print(not 3 == 7)
注:python的布尔运算符使用单词,而大多数其他语言使用符号(如&&,||和!)
运算符优先级
提示:python的操作顺序与正常数学的顺序相同,先括号,然后幂,然后乘除,再然后加减
运算符优先级列表
运算符符号 描述
2 () 小括号
** 指数(幂)
~ + - 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)
/ % // 乘,除,取模(求余数)和取整除(求商)
加法减法
<< 右移,左移运算符
& 位‘AND’
^ | 位运算符
<= < > >= 比较运算符
< > == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
例:
x = 4
y = 2
if not 1 + 1 == y or x == 4 and 7 == 8:
print('yes')
elif x > y:
print('no')
while 循环
while循环
1.如果if语句计算结果为True,则if语句代码块会运行一次,如果计算结果为False,则不会运行。
2.while循环语句只要条件为True,while语句内代码块就会重复运行,当条件为False时就会停止while循环,程序继续往后执行
例:
i = 1
while 1 <= 5:
print(i)
i += 1
print("finished:")
迭代
迭代:while循环体中的代码被重复执行就被称为迭代
例:
i = 3
while i >= 0:
print(i)
i -= 1
while的无限循环
无限循环是一种特殊的while循环,它永远不会停止运行,它的条件总是True
例:
while 1 == 1:
print("in the loop")
无限循环的停止可以通过Ctrl-C快捷键或关闭程序来停止程序的执行
break语句
可以使用break语句提前结束while语句。在循环中遇到时,break语句会立即结束循环
例:
i = 0
while 1 == 1:
print(i)
i +=1
if i >= 5:
print("breaking")
break
print("finished")
注:在循环外部使用break语句会导致错误
i = 5
while True:
print(i)
i -= 1
if i <= 2:
break
continue语句
continue语句与break不同的是,continue语句是提前结束本次循环,进入下一次循环。
例:
i = 0
while True:
i = i + 1
if i == 2:
print("skipping 2")
continue
if i == 5:
print("breaking")
break
print(i)
print("finished")
注:continue语句停止当前的迭代,并继续下一个迭代。
在循环外部使用continue语句会导致错误
例:
age = 15
while age >1:
age = age - 1
if age == 12:
continue
print(age)
print("end")
列表
1、 列表是python中的另一种类型的对象。它们被用来存储索引的元素列表。
2、列表创建:方括号中用逗号分隔元素来创建一个列表
3、列表中元素的访问:可以通过使用方括号中的索引来访问列表中的元素。
例:
words = ['hello','world','kim']
print(words[0])
print(words[2])
注:列表中的索引是从0开始的,而不是从1开始的
4、空列表的创建:
例:
ds = []
print(ds)
注:大多数情况下,列表中的最后一项不会带逗号。然而,在列表最后一项放置一个逗号是完全有效的,在某些情况下是鼓励的。
例:列表[2,]有1项
5、列表的元素允许包含不同的数据类型
6、列表也可允许嵌套在其他列表中
例:
num = 23
things = ["sthings",0,1,[4,5,num],3]
print(2)
7、引用超出列表值的索引范围将导致IndexError错误
例:
s = [3,4,5]
print(4)
列表操作
1、列表中某个索引处的元素可以重新分配
例:
num = [2,4,5,65,4]
num[1] = 9
print(num)
2、列表可以像字符串一样添加和相乘
例:
num = [1,2,3]
print(num+[7,6,5])
print(num*3)
注:列表和字符串在很多方面是相似的,字符串可以被认为是不能改变的字符列表
例:
num = [33,42,56]
num[1] = 22
print(num)
3、in运算符:要查找某个值是否在列表,可以用in运算符。如果值在列表中出现一次或多次,则返回True,否则返回
False
例:
words = ['spam','egg','spam','kjj']
print('spam' in words)
print('egg' in words)
print('dd' in words)
注:in运算符也用于确定一个字符串是否是另一个字符串的子字符串。
例:
nums = [10,9, 8,7,6,5]
nums[0] = nums[1] - 5
if 4 in nums:
print(nums[3])
else:
print(nums[4])
4、要某个值是否不在列表中,可以使用not操作符
例1:
num = [1,2,3]
print(not 4 in num)
print(4 not in num)
print(not 3 in num)
print(3 not in num)
例2:
letters = ['a','b','z']
if not 'c' in letters:
print('yes')
列表函数
append方法 在列表末尾添加元素
可以使用append方法将一个元素添加到现有列表的末尾。
例:
num = [1,2,3]
num.append(4)
print(num)
注:append是列表类的一个方法
例:
word = ['hello']
word.append('world')
print(word[1])
len函数 获取列表中元素数量
例:
num = [2,4,6,7,5]
print(len(num))
注:与append方法不同,len是一个正常的函数,而不是一个方法。这意味着它写在被调用的列表之前
例:
letter = ['a','b','c']
letter.append('d')
print(len(letter))
insert方法 在列表中任何位置插入一个新元素
例:
word = ['w3cschool','good']
index = 1
word.insert(index,"is")
print(word)
index方法 获取列表项的第一个匹配项的索引
如果该项目不存在列表中,则会引发ValueError
例:
let = ['p','q','r','s','p','u']
print(let.index('r'))
print(let.index('p'))
print(let.index('z'))
总结
max(list): 返回具有最大值的列表元素
min(list): 返回具有最小值的列表元素
list.count(obj): 返回一个元素在一个列表中出现的次数
list.remove(obj): 从列表中删除一个元素
list.reverse(): 颠倒列表中的元素的顺序
范围(Range)
1、range函数:创建一个顺序的数字列表
例:
number = list(range(10))
print(number)
注:Range本身会创建一个range对象,所以调用list函数将其转换为列表。
2、如果使用一个参数调用range,则会生成0到该参数值的对象。
如果使用两个参数调用范围,则会从第一个值到第二个值的对象
例:
num = list(range(3,8))
print(num)
print(range(20) == range(0,20))
3、range可以有第三个参数,第三个参数决定了产生的序列的间隔
例:
num = list(range(5,20,2))
print(num)