14-python基础3-数据类型
Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在Python中变量就是变量,是内存地址指针,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。类似于其他java、C中的引用类型。
Python3中有六个标准的数据类型:
字符串(String)
数字(Digit)
列表(List)
元组(Tuple)
集合(Sets)
字典(Dictionary)
日期(date)
一、字符串(String)
python中的字符串str用单引号('')或双引号("")括起来,同时使用反斜杠(\)转义特殊字符。
>>> s = 'Yes, he doesn\'t' >>> print(s, type(s), len(s)) Yes, he doesn't <class 'str'> 15
如果不想让\发生转义,可以在字符串前面加r或R,表示原始字符串:
>>> print('C:\some\name') C:\some ame >>> print(r'C:\some\name') C:\some\name
另外,\可以作为红续行符,表示下一行也是上一行的延续。还可以使用'''...'''或者"""..."""跨越多行。
字符串可以使用 + 运行符串连在一起,或者用 * 运算符重复:
注意:+连接字符串时,每连接一个时重新开辟内存,连接过多时,效率不高,这时候建议使用使用格式化字符串。
>>> s1 = 'we' >>> s2 = 'are' >>> s3 = 'go' >>> print(s1 + ' ' + s2 + ' ' + s3) we are go >>> >>> print("%s %s %s" % (s1, s2, s3)) we are go >>> >>> print('str' + 'ing', '*'*10) string **********
python中的字符串有两种索引方式,第一是从左往右,从0开始依次增加,第二种是从右往左,从-1开始依次减少。
注意!没有单独的字符类型,一个字符就是长度为1的字符串。
>>> word = 'Python' >>> print(word[0], word[5]) P n >>> print(word[-1], word[-6]) n P
还可以对字符串进行切片,获取一段子串。用冒号分隔两个索引,形式为 变量[头下标:尾下标]
截取的范围是半闭后开,并且两个索引都可以省略:
>>> word = 'ILovePython' >>> >>> >>> word[1:5] 'Love' # 隔2个跳着取 >>> word[1:10:2] 'LvPto' >>> word[:] 'ILovePython' >>> word[5:] 'Python' >>> word[-10:-6] 'Love'
与C字符串不同的是,python字符串不能被修改。如向一个索引位置赋值,word[0] = 'm' 会导致错误。
注意:
* 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
* 2、字符串可以用 + 运算符连接在一起,用*运算符重复。
* 3、python中的字符串两两种索引方式,从左往右以0开始,从右往左以-1开始
* 4、Python中的字符串不能改变。
二、数字型(Numbers)
1、数字型以分类:int整型(Integer)、float浮点型、bool布尔型(boolean)、complex复数。
>>> a, b, c, d = 20, 5.5, True, 4+3j >>> print(type(a), type(b), type(c), type(d)) <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
int
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
2、布尔型(boolean)
bool只有两个值 True 、False
>>> type(True) <class 'bool'> >>> type(False) >>> <class 'bool'> >>> bool(0) False >>> bool(1) True >>> bool(2) True >>> bool(3 == 3) True
3、数值运算:
>>> 5 + 4 # 加法 9 >>> 4.3 - 2 # 减法 2.3 >>> 3 * 7 # 乘法 21 >>> 2 / 4 # 除法,得到一个浮点数 0.5 >>> 2 // 4 # 除法,得到一个整数 0 >>> 17 % 3 # 取余 2 >>> 2 ** 5 # 乘方 32
注意:
* 1、python可以并行赋值,如 a, b = 1, 2
* 2、一个变量可以通过赋值指向不同类型的对象
* 3、数值的除法(/)问题返回一个浮点数,要获取整数使用//运行符
* 4、在混合计算时,python会把整型转换成浮点型。
4、数字类型转换
int(x [, base]) 将x转换为一个整数 float(x) 将x转换为一个浮点数 complex(real [imag]) 创建一个复数 str(x) 将对象x转换为字符串 repr(x) 将x转换为表达式字符串 eval(str1) 用来计算在字符串中有效的python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表 chr(x) 将整数x转换为一个字符 unichr(x) 将整数x转换为Unicode字符 ord(x) 将一个字符转换为它的整数值 hex(x) 将一个整数转换为一个十六进制字符串 oct(x) 将一个整数转换为一个八进制字符串 del(x) 删除变量x