-10
,0
,100
等等 0b1100
,8进制:0o771
,16进制:0x45af
等等的数字>>>s = -10
>>>s
-10
>>>b = 0b1100
>>>b
12
>>>o = 0o771
>>>o
505
>>>x = ox45af
>>>x
17839
2.5
,-3.9
等等,通常较大的浮点数都是用科学计数法来表示:2.5e2
用来表现2.5乘以10的2次方,浮点数在计算机内部与整数的存储方式不同,所以导致了整数的计算是精确的,而浮点数的计算可以会有四舍五入的差异>>>f = 2.5
>>>f
2.5
>>>f1 = -3.9
>>>f1
-3.9
>>>f2 = 2.5e2
>>>f2
250
>>>f3 = 2.5e-2
>>>f3
0.025
m + nj
的这种形式的数字,m称为实数,nj称为虚数:>>>a = 10 + 1j
>>>print(a)
(10+1j)
>>> True
True
>>> False
False
>>> 5 > 3
True
>>> 4 > 6
False
布尔值也可用and
(与),or
(或),not
(非)来运算,and
是两边的表达式都为True时,返回True,or
是两边表达式都为False的时候才返回False,not
是一个一元运算符,只有一个操作数,意思是取反该表达式的值,如果表达式为True,则返回False,如果表达式为False,则返回True,如下:
>>> True and False
False
>>> True and True
True
>>> True or False
True
>>> False or False
False
>>> not True
False
>>> not False
True
>>> 3 > 5 and 5 > 3
False
>>> 3 > 5 and 6 > 3
True
>>> 3 > 5 or 5 > 3
True
>>> 3 > 5 or 3 > 6
False
>>> not 3 > 5
True
>>> not 5 > 3
False
''
或者""
括起来的任意文本,如'你好'
,"abc"
,'xyz'
等等,有时候字符串里包含'
或者"
的时候,就需要对它进行转义,用\
来表示,如'I\'m a teacher'
实际表示为I'm a teacher
,有时候为了避免混淆,可以使用双引号加单引号的形式来写,如"I'm a teacher"
也是表示为I'm a teacher
>>> "I'm a teacher"
"I'm a teacher"
>>>'I\'m a teacher'
"I'm a teacher"
转义字符有很多种,最常用的转义字符有:\n
(换行符),\t
(制表符),\\
(斜杠本身),在有转义字符的字符串前面加上r
符号,则该字符串不会转义,如下:
>>>print('\\\n\\')
\
\
>>>print('\\\t\\')
\ \
>>>print(r'\\\t\\')
\\\t\\
有时候在一个长的字符串里用的转义字符太多,则会让字符串看起来杂乱不堪,则可以使用''' '''
或""" """
的方法来表示字符串,在Python里面不必对换行,制表符进行转义,一种所见即所得的模式,如:
>>> s = """I
...love
...python
"""
>>> print(s)
i
love
python
也可以在'''
和"""
前面加r,也表现该字符串不需要转义,\\
的这种会原样显示出来,如下:
>>> s = r"""I
...\\love
...python
"""
>>> print(s)
i
\\love
python
python中的连接符\
的使用:
>>>str1 = "Hello\
world"
>>>str1
"Helloworld"
字符串的拼接+
与格式化%s
,%d
,%f
:
符号 | 说明 |
---|---|
%s | 格式化字符串 |
%d | 格式化10进制整形数字 |
%f | 格式化浮点数 |
%c | 格式化字符及ascii码 |
%o | 格式化8进制数字 |
%x | 格式化16进制数字 |
%e | 格式化用科学计数法表示的定点数 |
格式化用的辅助符号:
符号 | 说明 |
---|---|
x.y | x表示数字总长度,y表示小数点后的位数 |
- | 表示左对齐 |
+ | 表示在正数前面加上+号 |
# | 表示在8进制数前面添加0o,在16进制数前面添加0x |
0 | 表示位数不足的时候,前面用0代替空格显示 |
>>>print("Hello"+",world") #这种用"+"方式的拼接,会浪费很多内存空间,每解释到一个字符串时,都会创建一个空间用于存放该字符串
Hello,world
>>>str1 = "world"
>>>str2 = "Python"
>>>print("Hello,%s,%s"%(str1,str2)) #这种方式创建的字符串用的空间比较少
Hello,world,Python
>>>age = 23
>>> print("age:%d"%age) #把age里的整型数字转换成字符串传入
age:23
>>>balance = 2.3
>>>print("balance:%f"%balance) #把balance里的浮点数转换为字符串传入
balance:2.3
>>>Pi = 3.1415926
>>>print("Pi:%5.3f"%Pi) #%5.3f:5表示小数总长度,3表示小数点后的位数,f表现浮点数
3.142
>>>year = 876
>>>print("year:%4d"%year)
year: 876
>>>print("year:%04d"%year) #%04d:表示位数不足4位时,前面填充0
year:0876
另外,在python中有另外一种方法format()用来格式化字符串,如下:
>>>str1 = '{0}{1}{2}'.format('hello',',','world') #注意参数的个数要与前面相对应
>>>print(str1)
hello,world
>>>str2 = '>:\t{0:b}'.format(3) #混合使用两种方式,把3的十进制数据转换为二进制数据的字符串
>>>print(str2)
>: 11
>>>import math
>>>str3 = '>:\t{0:3.5f}'.format(math.pi)
>>>str3
'>:\t3.14159'
>>>print(str3)
>: 3.14159
>>>None
#这里不会输入任何东西
>>>10 + 10.0
20.0
>>>10 + (10 + 1j)
(20+1j)
>>>11.0 + (10 + 1j)
(21+1j)
>>>int(10.0) # float ---> int
10
>>>int('10.0') # str ---> int
10
>>>float(10) # int ---> float,提升数据类型
10.0
>>>'my' + str(10) # int ---> str
'my10'
>>>str(10 + 1j) # complex ---> str
'10+1j'
>>>complex('10+1j') # str ---> complex,注意字符串中间不能有空格才能转换成功
(10+1j)
>>>complex(10) # int --->complex,提升数据类型,提升后不能再转换回去,因为complex不能转到int类型
(10+0j)