2.1.2 注释
"#"表示一行注释,
'''
多行注释
'''
2.2.2 命名
Python采用大、小写字母、数字、下划线和汉字等字符及其组合进行命名,但首字符不能数字,中间无空格,长度无限制,大小写敏感,不能与保留字相同,
1、
>>> print("{}是{}的首都".format("北京","中国")) 北京是中国的首都 >>> print("{}是{}的首都".format("北京","中国""df")) 北京是中国df的首都 >>> print("{}是{}的首都".format("北京","中国","df")) 北京是中国的首都 >>> print("{}是{}的首都".format("北京","中国","df","dfdf")) 北京是中国的首都 >>> print("{}是{}的首都".format("北京","中国","df""dfdf")) 北京是中国的首都 >>> print("{}是{}的首都".format("北京","中国""df""dfdf")) 北京是中国dfdfdf的首都 >>> print("{}是{}的首都".format("北京","中国""df","dfdf")) 北京是中国df的首都
2、续行符""(后面必须换行,不能有空格,相当于把一行很长的代码分割成可读的多行)
>>> print("{}是{}的首都".format("北京", ... "中国")) 北京是中国的首都
3、True是保留字,不能拿来命名
>>> (33>3)==true Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> (33>3)==True True
4、16进制不分大小写
>>> 0x3f2 == 1010
True
>>> 0x3F2 == 1010
>>> 0xd3d
3389
>>> 0Xd3d
3389
>>> 0xd3D
3389
>>> 0XD3d
3389
>>> 0x0d3d
3389
5、字符或字符片段的索引和切片([N:M])
>>> "对酒当歌,人生几何"[3] '歌' >>> "对酒当歌,人生几何?"[3] '歌' >>> "对酒当歌,人生几何?"[0] '对' >>> "对酒当歌,人生几何?"[-2] '何' >>> "对酒当歌,人生几何?"[-1] '?' >>> "对酒当歌,人生几何?"[-1:3] '' >>> "对酒当歌,人生几何?"[-1:0] '' >>> "对酒当歌,人生几何?"[-1:-4] '' >>> "对酒当歌,人生几何?"[-4:-1] '生几何' >>> "对酒当歌,人生几何?"[4:5] ',' >>> "对酒当歌,人生几何?"[1:5] '酒当歌,' >>> "对酒当歌,人生几何?"[3:-1] '歌,人生几何' >>> "对酒当歌,人生几何?"[0:-1] '对酒当歌,人生几何'
字符串合并
>>> 1024*43 44032 >>> "对酒当歌,人生几何?"+"譬如朝露,去日苦多!" '对酒当歌,人生几何?譬如朝露,去日苦多!'
6、len()函数获取字符串长度
>>> len("对酒当歌,人生几何?")
10
>>> len("I'm Your Father")
15
2.4.2同步赋值语句(同时给多个变量赋值,需一一对应,用逗号,隔开)
>>> a,b,c,d = 5,6,7,8 >>> a 5 >>> b 6 >>> c 7 >>> d 8
>>> a,b,c,d = 5,6,7,8,9,10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 4)
>>> a,b,c,d = 5,6,7
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 4, got 3)
另一个应用就是变量互换:
>>> a=2 >>> b=4 >>> a,b = b,a >>> a 4 >>> b 2
倒序输出(切片法)
# 列表的倒序输出 >>> list = [1,2,3,4,5] >>> type(list) <class 'list'> >>> print(list[::-1]) [5, 4, 3, 2, 1] # 字符串的倒序输出 >>> a = "喂!不是吧 今天喝了脉动啊吃了果冻啊 但是还是忍不住对你心动呀" >>> type(a) <class 'str'> >>> print(a[::-1]) 呀动心你对住不忍是还是但 啊冻果了吃啊动脉了喝天今 吧是不!喂 # 整数的倒序输出失败,报错 >>> a = 12345 >>> type(a) <class 'int'> >>> print(a[::-1]) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not subscriptable
倒序输出(for循环正序法)
>>> a = "abcdefg" >>> for i in range(len(a)-1,-1,-1): ... print(a[i],end='') ... gfedcba >>>
倒序输出(reversed方法)
>>> ''.join(reversed(a)) 'gfedcba' >>> a 'abcdefg'
Python 测验 - 操作符
代码 a = [ 1,2,3,4,5 ],以下输出结果正确的是?C print(a[:]) => [1,2,3,4] print(a[0:]) => [2,3,4,5] print(a[:100]) => [1,2,3,4,5] print(a[-1:]) => [1,2]
以下代码中哪个是正确的 for 循环语句是?D for(a = 0; a < 3; a++) for a in range(3) for a loop 3: for a in range(1,3):
将字符串 "example" 中的字母 a 替换为字母 b,以下代码正确的是?B example.swap('b', 'a') example.replace('a','b') example.match('b','a') example.replace('b','a')
Python 中,以下哪个代码是正确的字典?B myExample = {'someItem'=>2, 'otherItem'=>20} myExample = {'someItem': 2, 'otherItem': 20} myExample = ('someItem'=>2, 'otherItem'=>20) myExample = ('someItem': 2, 'otherItem': 20)
def f(): pass print(type(f())) 以上代码输出结果为?C <class 'function'> <class 'tuple'> <class 'NoneType'> <class 'str'> <class 'type'>
a = [1,2,3,None,(),[],] print(len(a)) 以上代码输出结果为?C (最后一个,后面是空,如果有内容就是7) syntax error 4 5 6 7
print('%.2f' % 123.444) 输出结果为?A 123.44 12 123.444 44
代码 def a(b, c, d): pass 含义是?B 定义一个列表,并初始化它。 定义一个函数,但什么都不做。 定义一个函数,并传递参数。 定义一个空的类。
3*1**3 表达式输出结果为?C 27 9 3 1 回答错误,正确的是 3。** 拥有更高的优先级。
9//2 表达式输出结果为? 1 2 3 4 回答错误,正确的为 4,// 用于向下取接近除数的整数。 >>> 9/2 4.5 >>> 10//4 2 >>> 11//4 2 >>> 12//4 3 >>> 12//5 2
x = True y = False z = False if x or y and z: print("yes") else: print("no") 以上代码输出结果为?A yes no 编译出错 回答正确,and 拥有更高优先级,会先行运算。 >>> x or y True >>> y and z False >>> x or y and z True
x = True y = False z = False if not x or y: print(1) elif not x or not y and z: print(2) elif not x or y or not y and x: print(3) else: print(4) 以上代码输出结果为? 1 2 3 4
优先级顺序为 NOT、AND、OR。
Python 测验 - 条件判断与循环
if None: print(“Hello”) 以上代码输出的结果是?C False Hello 没有任何输出 语法错误 回答错误,None 为 False,所以没有任何输出。
在 if...elif...else 的多个语句块中只会执行一个语句块?A 正确。 错误。 根据条件决定。 Pyhton 中没有 elif 语句。
for i in [1, 0]: print(i+1) 以上代码输出结果为?A 2 1
[2, 1] 2 0 回答错误,正确的是 输出 2 ,然后再输出 1。
Python 中,for 和 while 可以有 else 语句?C 只有 for 才有 else 语句。 只有 while 才有 else 语句。 for 和 while 都可以有 else 语句。 for 和 while 都没有 else 语句。 回答错误,for 和 while 都可以有 else 语句。
while 4 == 4: print('4') 以上代码输出的结果是? 输出一次 4。 输出四次 4。 无限次输出 4,直到程序关闭。 语法错误。 回答错误,正确的为无限次输出,直到程序关闭。
迭代输出序列时(如:列表)使用 for 比 while 更好?B 错误,while 比 for 更好。 正确 错误,while 不能用于迭代系列。 错误,for 和 while 都不能用于迭代系列。
以下哪个描述是正确的?D break 语句用于终止当前循环。 continue 语句用于跳过当前剩余要执行的代码,执行下一次循环。 break 和 continue 语句通常与 if, if...else 和 if...elif...else 语句一起使用。 以上说法都是正确的。 回答错误,所有的描述的是正确的。
以下关于 pass 哪个描述是正确的?C Python 会忽略 pass 语句,就像忽略注释一样。 pass 语句会终止当前循环。 pass 不做任何事情,一般用做占位语句。 以上说法都是正确的。
参考: