-
在python3中,中文字符串和英文字符串无异。
s1 = '这是中文字符串' s2 = 'this is an English string' print(s1) print(s2)
查看全部 -
Python的字符串format
字符串format由两个部分组成,字符串模板和模板数据内容组成,通过大括号
{}
,就可以把模板数据内容嵌到字符串模板对应的位置。# 字符串模板 template = 'Hello {}' # 模板数据内容 world = 'World' result = template.format(world) print(result) # ==> Hello World
如果模板中
{}
比较多,则容易错乱,那么在format的时候也可以指定模板数据内容的顺序。# 指定顺序 template = 'Hello {0}, Hello {1}, Hello {2}, Hello {3}.' result = template.format('World', 'China', 'Beijing', 'imooc') print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc. # 调整顺序 template = 'Hello {3}, Hello {2}, Hello {1}, Hello {0}.' result = template.format('World', 'China', 'Beijing', 'imooc') print(result) # ==> Hello imooc, Hello Beijing, Hello China, Hello World.
除了使用顺序,还可以指定对应的名字,使得在format过程更加清晰。
# 指定{}的名字w,c,b,i template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.' world = 'World' china = 'China' beijing = 'Beijing' imooc = 'imooc' # 指定名字对应的模板数据内容 result = template.format(w = world, c = china, b = beijing, i = imooc) print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.
查看全部 -
在字符串前面加个前缀
r
,表示这是一个 raw 字符串,里面的字符就不需要转义了。例如:
r'\(~_~)/ \(~_~)/'
但是
r'...'
表示法不能表示多行字符串,也不能表示包含'
和"
的字符串。如果要表示多行字符串,可以用
'''...'''
表示:'''Line 1 Line 2 Line 3'''
还可以在多行字符串前面添加
r
,把这个多行字符串也变成一个raw字符串:r'''Python is created by "Guido". It is free and easy to learn. Let's start learn Python in imooc!'''
查看全部 -
如果字符串包含
"
,我们就可以用' '
括起来表示:'Learn "Python" in imooc'
如果字符串既包含
'
又包含":
需要对字符串中的某些特殊字符进行“转义”,Python字符串用
\
进行转义。'Bob said \"I\'m OK\".'
注意:转义字符
\
不计入字符串的内容中。常用的转义字符还有:
\n
表示换行\t
表示一个制表符\\
表示\
字符本身查看全部 -
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。查看全部 -
Python的布尔类型
and、 or、 not
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True
短路计算
在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
查看全部 -
四则运算
加减乘除
取模运算
Python数字支持取模运算,使用百分号
%
表示取模(余数)地板除
得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用
//
进行查看全部 -
变量名规则
变量名由大小写英文字母、数字和下划线
_
组成变量不能用数字开头
变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
查看全部 -
Python基础数据类型
整数:int
二进制数只使用数字0、1表示,在Python中,二进制整数使用前缀
0b
表示,比如:0b0110
,0b1100
。十六进制数除了0~9十个数字以外,还使用a、b、c、d、e、f,在Python中,十六进制使用前缀
0x
,比如:0x12ef
,0xde2431af
。浮点数:float
在Python中,把10用e替代
字符串:str
以''或""括起来的任意文本
布尔值
一个布尔值只有True、False两种值
用
and
、or
和not
运算空值
用
None
表示查看全部 -
tuple的元素也可以是tuple,请判断以下定义T的元素中,有多少个tuple。
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
参考答案:
3个
第一个元素(1+2),第三个元素('a'+'b'),计算的结果分别是数字3和字符串ab,不是tuple。查看全部 -
短路计算
在计算
a and b
时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。在计算
a or b
时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
查看全部 -
在Python中,布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算,请看下面的代码:
a = True print(a and 0 or 99) # ==> 99
得到的计算结果不是布尔类型,而是数字99,这是为什么呢?
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
查看全部 -
println(“hello”)查看全部
-
vfvrfvrvr
查看全部 -
alice_scores = [100,89,92] bob_scores = [70,65,81] candy_scores = [88,72,77] all_scores = [alice_scores, bob_scores, candy_scores] score = all_scores[1][2] # ==> 81
以上代码中
all_scores[1]
得到Bob的最近三次成绩的列表,再通过下标[2]
,则可以得到Bob第三次的成绩。查看全部
举报