Python中类型的概念(一)

本课程主要介绍6种Python语言中的类型:
数字类型、字符串类型、元组类型、列表类型文件类型、字典类型

1、数字类型

Python语言包括三种数字类型:整数类型、浮点数类型、复数类型 

(1)整数类型

与数学中的整数概念一致,没有取值范围限制

pow(x, y)函数:计算xy.

(通过指数函数,可以看出,python语言整数类型没有范围限制)

(0x, 0X开头表示16进制数) 

(0b, 0B开头表示2进制数 )

(0o, 0O开头表示8进制数) 

(2)浮点数类型

带有小数点及小数的数字

Python语言中浮点数的数值范围存在限制,小数精度也存在限制。这种限制与在不同计算机系统有关

科学计数法使用字母“e”或者“E”作为幂的符号,以10为基数。科学计数法含义如下:

<a>e<b> = a * 10b

(以10为底)

(3)复数类型

与数学中的复数概念一致, z = a + bj, a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识

示例:12.3+4j, -5.6+7

三种类型存在一种逐渐“扩展”的关系:整数 -> 浮点数 -> 复数(整数是浮点数特例,浮点数是复数特例)

不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型 

三种类型可以相互转换函数:int(), float(), complex() 

函数:type(x),返回x的类型,适用于所有类型的判断 

(注意商和余数)

2、字符串类型
字符串是用双引号""或者单引号''括起来的一个或多个字符。

(1)字符串可以保存在变量中,也可以单独存在。 

可以用type()函数测试一个字符串的类型

(需要引号)

(2)Python语言转义符: \
输出带有引号的字符串,可以使用转义符使用 \\ 输出带有转移符的字符串 

 

(3)字符串是一个字符序列:字符串最左端位置标记为0,依次增加。字符串中的编号叫做“索引” 

 单个索引辅助访问字符串中的特定位置格式为<string>[<索引>] 

 Python中字符串索引从0开始,一个长度为L的字符串最后一个字符的位置是L-1,Python同时允许使用负数从字符串右边末尾向左边进行反向索引,最右侧索引值是-1 

 

注意,出现区间时,指的是前闭后开区间

(4)联接

字符串之间可以通过+或*进行连接

加法操作(+)将两个字符串连接成为一个新的字符串

乘法操作(*)生成一个由其本身字符串重复连接而成的字符串 

(5)len()函数能否返回一个字符串的长度

(6)转换

大多数数据类型都可以通过str()函数转换为字符串 

(字符串的引号)

(7)实例:月份分割查询

1 months='JanFebMarAprMayJunJulAugSepOctNovDec'
2 n=input("输入月份:")
3 pos=(int(n)-1)*3
4 month=months[pos:pos+3]
5 print('月份简写是'+month)

 

一定要注意,input默认输入的数据类型是字符串,计算时需要强制转换成数字格式。

还有,字符串输出时直接相加就可以,数字输出时需要"%f".

(8)字符串处理方法

<1>大小写转化

<2>去首尾空格和首尾特定字符

(去掉首尾的空格)

(去首尾的字符)

<3>查找和拆分

(寻找和拆分)

<4>替换

(注意替换顺序,要替换的在前,变换后的在后)

<5>连接

1 >>> a='-'
2 >>> b='abc'
3 >>> c=['hello','world']
4 >>> print(a.join(b))
5 a-b-c
6 >>> print(''.join(c))
7 helloworld
8 >>> print(' '.join(c))
9 hello world

将a插入到b中,可以将空格插入。a.join(b)

<6>用转义符可以在字符串中表达一些不可直接打印的信息

>>> a='hello\nworld'
>>> print(a)
hello
world

\n表示换行

3、元组的概念
元组是包含多个元素的类型,元素之间用逗号分割。

例如:t1 = 123,456, “hello”

元组可以是空的,t2=() 。元组包含一个元素时:t3=123,。元组外侧可以使用括号,也可以不使用 

元组中元素可以是不同类型;一个元组也可以作为另一个元组的元素,此时,作为元素的元组需要增加括号,从而避免歧义。 

元组中各元素存在先后关系,可以通过索引访问元组中元素。 

与字符串一样,元组之间可以使用+号和*号进行运算。 

>>> a='1223','456'
>>> a
('1223', '456')
>>> a=123,456,'789'
>>> a
(123, 456, '789')
>>> a=123,456,'789','abc'
>>> print(a)
(123, 456, '789', 'abc')
>>> b=123,456,('789','abc')
>>> print(b)
(123, 456, ('789', 'abc'))
>>> a[3]
'abc'
>>> b[2]
('789', 'abc')
>>> a+b
(123, 456, '789', 'abc', 123, 456, ('789', 'abc'))
>>> a[1:]
(456, '789', 'abc')

>>> a[2][1]
'8'

4、列表

(1)列表(list)是有序的元素集合;列表元素可以通过索引访问单个元素; 

列表与元组类似:列表中每个元素类型可以不一样,访问列表中元素时采用索引形式

 

列表与元组不同:列表大小没有限制,可以随时修改 

>>> vlist=[0,1,2,3,4]
>>> vlist*2
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
>>> len(vlist)
5
>>> len(vlist[2:])
3
>>> for i in vlist[:3]:
print(i)

0
1
2
>>> 2 in vlist
True
>>> 5 in vlist
False

(2)列表相关方法

>>> vlist=[0,1,2,3,4]
>>> vlist.append('python')
>>> vlist
[0, 1, 2, 3, 4, 'python']
>>> vlist.reverse()
>>> vlist
['python', 4, 3, 2, 1, 0]
>>> vlist.sort()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
vlist.sort()
TypeError: '<' not supported between instances of 'int' and 'str'
>>> vlist.index('3')
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
vlist.index('3')
ValueError: '3' is not in list
>>> vlist.index(3)
2
>>> vlist.index('python')
0
>>> vlist.pop(3)
2
>>> vlist
['python', 4, 3, 1, 0]
>>> vlist.insert(3,2)
>>> vlist
['python', 4, 3, 2, 1, 0]
>>> vlist.remove(2)
>>> vlist
['python', 4, 3, 1, 0]
>>> vlist.insert(3,'2')
>>> vlist
['python', 4, 3, '2', 1, 0]
>>> 'hello world'.split()
['hello', 'world']

 

 

posted on 2017-08-07 23:05  箬笠蓑衣  阅读(4997)  评论(2编辑  收藏  举报