Python基础2(内置数据类型及转换)

Python基础2(内置数据类型及转换)

数据类型

  • 整形(int)
    Python中可以处理任意大小的整数(包括负数),只受电脑内存大小的限制,如:-10,0,100等等
    在计算机中有时使用其他进制比较方便,如2进制:0b1100,8进制:0o771,16进制:0x45af等等的数字
>>>s = -10
>>>s
-10
>>>b = 0b1100
>>>b
12
>>>o = 0o771
>>>o
505
>>>x = ox45af
>>>x
17839
  • 浮点型(float)
    浮点数也叫小数,Python中可以处理任意大小的浮点数,如: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
  • 复数(complex)
    在Python中,复数也是一种数据类型,就是m + nj的这种形式的数字,m称为实数,nj称为虚数:
>>>a = 10 + 1j
>>>print(a)
(10+1j)
  • 布尔型
    布尔型数据类型只有两个值:True和False,用于表示真和假的量,如下:
>>> 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.yx表示数字总长度,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
    常量None在Python中表示为空,是一个特殊的数据类型,也不是为0.如:
>>>None
#这里不会输入任何东西

数据类型的相互转换

  • 数值类型的隐式转换
    在参与运算的两个或则多个数字,可以是不同类型,但是得确保低的类型可以转换为高的类型,转换时的顺序是:
    int—->float—->complex
>>>10 + 10.0
20.0
>>>10 + (10 + 1j)
(20+1j)
>>>11.0 + (10 + 1j)
(21+1j)
  • 数值类型的强制转换
    在数据类型中可以强制进行转换,注意:complex的类型是不能强制转换为int和float类型的值,如:
>>>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)
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页