- 如果我需要在一个字符串中嵌入一个双引号,正确的做法是?
有两个选择:可以利用反斜杠(\)对双引号转义:",或者用单引号引起这个字符串。例如:’ I l"o"ve fishc.com '。 - 什么是BIF?
是Bulit-in Functions,内置函数。为了方便程序员快速编写脚本,python提供了大量内置函数。
输入 dir(__builtins__) 可以看到 Python 提供的内置方法列表(注意,builtins 前后是两个下划线)也可以用help()方法来查询某个BIF的功能 - 如果循环无限循环下去,程序崩溃,则按下快捷键 CTRL + C(强制结束)。造成死循环得原因是while后面的条件永远为真,只有这些会被看成假(冒号,括号里面什么也没有,空格都没有):False,none,0,’’,“”,(),{}, []
- 请写出与 10 < cost < 50 等价的表达式 :
(10 < cost) and (cost < 50) - 一行过长的语句可以使用反斜杠(\)或者括号分解成几行
3 > 4 and \
1 < 2
或者
(3 > 4 and
1 < 2 )
- s为字符串
s.isalnum():所有字符都为数字或字母,则为真,否则为假
s.isalpha():所有字符都为字母,则为真,否则为假
s.isdigit():所有字符都为数字,则为真,否则为假
s.islower()::所有字符都为小写,则为真,否则为假
s.issupper()::所有字符都为大写,则为真,否则为假
s.istitle()::所有字符首字母都为大写,则为真,否则为假
s.isspace():所有字符都是空白字符,则为真 - 使用 int() 将小数转换为整数,结果是向上取整还是向下取整呢?
小数取整会采用比较暴力的截断方式,即向下取整。(注:5.5向上取整为6,向下取整为5)
如果想要按照四舍五入法取整,则可以加0.5,eg:int(6.5+0.5) = 7,int(6.4+0.5)=6 - type(),isinstance()都是返回一个变量的类型
eg:
>>> a = 5
> isinstance(a,int)
True
>>>type(a)
<class 'int'>
建议使用 isinstance(),因为它的返回结果比较直接
另外 type() 其实并没有你想象的那么简单
- assert作用
这个关键字成为‘断言’,当这个关键字后面的条件为假时,程序自动崩溃并抛出AssertionError异常。这在测试程序时非常好用,相当于在程序中置入检查点,只有为真时,程序才能通过 - 将x,y,z值迅速进行交换:x,y,z=z,y,x
- 成员资格运算符:in 。用于判断一个值是否在序列中,如果在,则返回True
- 下面循环会打印多少次
for i in range(0,10,2):
print('hello')
会打印5次。因为从0开始,10结束(不包括10),步进为2
13. append和extend都是向列表的末尾增加元素,它们的区别?
append是将参数作为一个列表去扩展列表末尾
extend是将参数作为一个元素增加到列表末尾
还有一种insert方法,将元素插入到
clear清空列表操作,列表还存在,只不过为空
>>> name = ['h','e','l']
name.append(['l','o'])
>>> name
['h', 'e', 'l', ['l', 'o']]
>>> name = ['h','e','l']
>>> name.extend(['l','o'])
>>> name
['h', 'e', 'l', 'l', 'o']
>>> name.insert(2,'好')
>>> name
['h', 'e', '好', 'l', 'l', 'o']
- 列表推导式或列表解析
用于动态的创建列表
语法:[有关a的表达式 for a in b]
>>> [i*i for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> list1=[(x,y) for x in range(10) for y in range(10) if x%2==0 and y%2!=0]
>>> list1
[(0, 1), (0, 3), (0, 5), (0, 7), (0, 9), (2, 1), (2, 3), (2, 5), (2, 7), (2, 9), (4, 1), (4, 3), (4, 5), (4, 7), (4, 9), (6, 1), (6, 3), (6, 5), (6, 7), (6, 9), (8, 1), (8, 3), (8, 5), (8, 7), (8, 9)]
- 列表和元组区别
列表:一个大仓库,可随时往里面添加删除东西
元组:封闭的列表,一旦定义,就不可改变 - x,y,z=1,2,3,其中x,y,z是元组吗?
所有的多对象的,逗号分隔的,没有明确用符号定义的这些集合都默认是元组 - python有列表推导式,没有元组推导式,但是tuple1=(x*x for x in range(10))没有报错,是因为误打误撞创建了一个创造器
>>> tuple1=(x*x for x in range(10))
#注意最外边是圆括号,如果是方括号则变成了列表
>>> type(tuple1)
<class 'generator'>
18.
19.format方法
>>> "{a} love {b}.{c}".format(a="i",b="you",c="java")
'i love you.java' #必须要标a=“i”这些
>>> "{0} love {1}.{2}".format("i","you","java")
'i love you.java'
>>> "{2} love {0}.{2}".format("i","you","java")
'java love i.java'