笔记
进入语句学习前的准备知识点
序列解包
定义:将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中。
>>> values = 1, 2, 3
>>> values
(1, 2, 3)
>>> x, y, z = values
>>> x
在元组中,要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则Python将引发异常。可使用星号运算符( * )来收集多余的值
>>> a, b, *rest = [1, 2, 3, 4]
>>> rest
[3, 4]
赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表。在变量
和值的个数相同时亦如此。
>>> a, *b, c = "abc"
>>> a, b, c
('a', ['b'], 'c')
链式赋值
增强赋值
可以不编写代码 x = x + 1 ,而将右边表达式中的运算符(这里是 + )移到赋值运算符( = )的前面,从而写成 x += 1 。
>>> fnord = 'foo'
>>> fnord += 'bar'
>>> fnord *= 2
>>> fnord
'foobarfoobar'
代码块:
代码块是一组语句,可在满足条件时执行( if 语句),可执行多次(循环),等等。代码块是
通过缩进代码(即在前面加空格)来创建的。在Python中,使用冒号( : )指出
接下来是一个代码块,并将该代码块中的每行代码都缩进相同的程度。发现缩进量与之前相同时,
你就知道当前代码块到此结束了。
1.if语句
布尔值的判定:《Python基础教程第三版》P88
if、 esle 、elif(else if ) 三者的组合运用
num = int(input('Enter a number: '))
if num > 0:
print('The number is positive')
elif num < 0:
print('The number is negative')
else:
print('The number is zero')
name = input('What is your name? ') 注意缩进要同一级if语句内的内容缩进要相同哦!!
if name.endswith('Gumby'):
if name.startswith('Mr.'):
print('Hello, Mr. Gumby')
elif name.startswith('Mrs.'):
print('Hello, Mrs. Gumby')
else:
print('Hello, Gumby')
else:
print('Hello, stranger')
认识比较运算符
is不等同于“==” 因为 is 检查两个对象是否相同(而不是相等)。变量 x 和 y 指向同一个列表,而 z 指向另一个列表(其中包含的值以及这些值的排列顺序都与前一个列表相同)。这两个列表虽然相等,但并非同一个对象。
== 用来检查两个对象是否相等,而 is 用来检查两个对象是否相同
in :成员资格运算符
字符串和序列的比较 P93
2.for语句
字典的遍历
D={'a':1,'b':2,'c':3}
for key in D:
print(key,'--->',D[key])
b--->2
c--->3
a--->1
D={'a':1,'b':2,'c':3}
for (key,value) in D.items():
print(key,'--->',value)
a--->1
c--->3
b--->2
3.while语句
需要反复循环执行的部分(也就是循环主体)在顶端测试条件为真时会重复执行,直到测试条件变为假时退出
4.continue是跳出本轮循环,回到循环主体的顶部再次开始新的循环
a=0
b=10
while a<b:
a = a + 1
if a % 2 !=0:
continue
print(a,end=' ')
246810
5.break 直接跳出循环
a=0
b=10
while a<b:
a=a+1
if a==5:
break
print(a,end=' ')
1 2 3 4
else关键字,只有当循环正常离开的时候才会执行,即没有碰到break语句
6.pass语句
你编写代码时,可将其用作占位符。
算术运算符 详情见百度
+:加法操作,两个数值相加。 如:2 + 3 = 5。
-:减法操作,两个数值相减。 如:5 - 4 = 1。
*:乘法操作,两个数值相乘。 如:3 * 4 = 12。
/:除法操作,两个数值相除。 如:9 / 3 = 3。
%:取模/取余,求除法的余数。 如:10 % 3 = 1。
//:整除,求商的整数部分。 如:11 // 2 = 5。
**:幂运算,返回x的y次幂。 如:2 ** 3 = 8。