基本数据类型
一、数字类型
1、整数
二进制:0B或0b开头,满2进1。
八进制:0O或0o开头,满8进1。
十进制:满10进1,bin()函数可实现从十进制到二进制的转换,oct()函数可实现从十进制到八进制的转换,hex()函数可实现从十进制到十六进制,输出格式都是字符串类型。
十六进制:0X或0x开头,满16进1。
# -- coding: utf-8 --
a = 100
print (bin(a))
print (oct(a))
print (a)
print (hex(a))
运行结果:
2、浮点数
·Python中的浮点数一般以十进制表示,由整数和小数部分组成。
·对于很大或者很小的浮点数,可以用科学计数法表示。科学计数法就是用e/E作为幂次的符号,xey就是x*10^y。
·Python中的浮点数都是双精度浮点数,占八个字节,区别于C/C++中还有单精度浮
点数float。
# -- coding: utf-8 --
a = 1.2
b = 1.2e2
print (a)
print (b)
print (type(a))
print (type(b))
运行结果:
3、复数
·复数由 实部 和 虚部 两部分组成。
·实数部分和虚数部分都由小数表示。
·虚数部分后面必须有j/J
·.real可以获取复数的实部,.imag可以获取复数的虚部
复数的表示
①a + bj
②complex(a , b) ,前面为实部,后面为虚部
# -- coding: utf-8 --
a = 1 + 2j
b = complex(1 , 2)
print (type(a))
print (type(b))
print (id(a))
print (id(b))
#实部和虚部都是用浮点数表示
print (a.real)
print (a.imag)
运行结果:
4、布尔类型
·Python中的bool类型只有False和True
·True对应整数1,False对应整数0
·常用的bool类型支持and(与),or(或),not(非)运算
*值得注意的是,None、为0的数字类型、空序列、空字典、类实例中返回0的方法等值都与False相同,C++中则是NULL等,C++11之后还加入了nullptr。
*非零数值和非空字符串则与True相同。
5、数值运算
此次不过多赘述,与C/C++不同的是,Python中的 /运算符默认为浮点数,若要只保留整数部分,则需要使用 //运算符。
# -- coding: utf-8 --
a = 10.4
b = 5
print (a / b)
print (a // b)
运行结果:
二、字符串类型
1、字符串表示
(1)单引号 ' ' ,双引号 " " 表示,这两种方式是等价的,返回的类型相同。
(2)三引号(三双引号 """ """ ,三单引号 ''' ''' 都可),三引号字符串也被称为块字符串,里面既可以有单引号,也可以有双引号,并且无需转译。
# -- coding: utf-8 --
a = '1'
b = "2"
c = """123
123 """
print (type(a))
print (type(b))
print (c)
运行结果:
2、字符串操作
(1)索引
字符串是有序字符的集合,可通过下标进行索引。
(2)切片
可以通过Python的分片操作来提取字串,语法:str[x:y]。
(3)字符串连接
①操作符+方法,str = str1 + str2。
②格式化方法拼接,%和.format:
"%s %s"%(str1, str2) ,
"{} {}".format(str1 ,str2)。
③join()方法,"分隔符".join(要连接的元素序列、字符串、元组、字典)。
(4)字符串修改
①切片再连接,s = s1[1:2] + s2[2:]。
②replace()方法。
# -- coding: utf-8 --
str1 = 'hello python!'
#索引访问
print (str1[3])
#分片
print (str1[2:5])
#字符串连接
##+方法
print (str1 + ' hello world')
##格式化方法
###%方法
str2 = 'hello world';
print ("%s %s" % (str1 , str2))
###.format方法
print ("{} {}".format(str1 , str2))
##join方法
lists = [str1 , str2]
print ('*'.join(lists))
#字符串修改
##分片和+方法
print (str1[0:5] + 'world')
##replace()方法
str1.replace('h','i')
print (str1)
运行结果:
tips
①Python中不分int和long类型,都是int类型,长度是动态的。
②Python中可以使用type()函数查看变量类型
③Python中当多个变量的值相同时,这个值在内存中并没有被保存多次,而是这块内存多个变量同时指向。
④Python具有自动内存管理,当一个值没有任何变量指向,Python自动将其删除,因此Python程序员一般不会特别考虑内存释放的问题,这也是Python与C/C++最大的区别。
⑤type()函数可以获取变量类型,id()函数可以获取值的内存地址