bool型的运算:与运算、或运算、非运算
#与运算,同为真则为真
In [26]: Ture and Ture
Out[26]: 1
#或运算,只有一个为真则为真
In [28]: Ture or False
Out[28]: 1
#非运算,取反操作
In [29]: not False
Out[29]: True 不建议使用bool型,但后面会有一个特例
用以下操作符都会返回bool类型,即Ture或False |
|
操作符 |
解释 |
< |
小于 |
<= |
小于等于 |
== |
等于 |
>= |
大于等于 |
!= |
不等于 |
is |
是相同对象 |
1.7变量类型—字符串类型(一)
#字符串可以用双引号,也可以用单引号。通过单,双引号的使用,可以避免不必要的字符转义(escape),也就是说,可以避免使用\(转义字符)
In [33]:
line="hello world"
line="hello world\""
line='hello \'world'
#上面的三行都只是赋值语句,没有返回值,如果在加一行line会有一个返回值,只输出最后一行;如果没有返回值,则不会输出
line
Out[33]: "hello 'world"
#字符串的加法操作
In [37]:
line_1="ni hao,"
line_2="peng you"
line_1+line_2
Out[37]: 'ni hao,peng you'
#字符串的乘法操作 (方便拼接)
In [41]:
line='nihao '
line*10
Out[41]: 'nihao nihao nihao nihao nihao nihao nihao nihao nihao nihao '
In [42]: line
Out[42]: 'nihao '
#字符串长度
In [43]: len(line)
Out[43]: 6
字符串是不可变类型的变量(原先指向的内存地址不变)
#id函数,返回一个身份识别符,可以理解为一个变量的内存地址 (判断两个变量是否是同一个变量)
In [48]:
line ='nihao '
id(line)
Out[48]: 2491824133712
In [49]:
line ='buhao '
id(line)
Out[49]: 2491825278456
1.8答疑
in的[ ]中出现*符合,说明程序正在运行中,所以不出来结果
#time.sleep(10):让程序停10秒,它运行不出,下面也运行不出结果
In [52]:
import time
time.sleep(10)
#书写 b(空格)=(空格)nihao
1.9变量类型—字符串类型(二)
切片操作
#取前十个字符
In [53]:
line = 'huan ying da jia lai wan fang shang ke'
line[:10]
Out[53]:
'huan ying ' #默认是[0:10]
#补充:序列
#取第一个字符:
In [54]: line[0]
Out[54]: 'h'
#取前20个字符,隔一个取一个,意思就是说每两个字符取一个
In [55]: line[0:20:2]
Out[55]: 'ha igd i a'
#取后十个字符
In [56]: line[-10:]
Out[56]: 'g shang ke'
#翻转字符 把步长改为-1
In [57]: line[::-1]
Out[57]: 'ek gnahs gnaf naw ial aij ad gniy nauh'
#取单字符
In [58]: line[1]
Out[58]: 'u'
line.按Tab键,就出现line的多个函数
查看函数的意思:
line.capitalize
In [59]: line.capitalize?
按运行会出现: Docstring: S.capitalize() -> str
Return a capitalized version of S, i.e. make the first character have upper case and the rest lower case. (此句需理解重点) Type: builtin_function_or_method
#首字母大写
In [62]:
line = 'ASDFGHJIKNVCMX'
line.capitalize()
Out[62]: 'Asdfghjiknvcmx'
#使字符串居中,%符号填充两端
In [63]: line.center(20,'%')
Out[63]: '%%%ASDFGHJIKNVCMX%%%'