Python种拥有6大数据类型:Number(数字)、String(字符串)、List(列表)、tuple(元祖)、Set(集合)、Dictionary(字典)


1、数字 --- Nunmber

Python3支持4种类型的数字:int(整数类型)、float(浮点类型)、bool(布尔类型)、complex(复数类型),在Python3种可以使用type()函数来查看数字类型

a = 1
print(type(a))

b = 3.14
print(type(b))

c = True
print(type(c)


2、字符串 --- String

2.1、字符串类型

字符串就是在单引号、双引号和三引号之间的文字。单引号和双引号的作用其实是一样的,三引号可以指示一个多行的字符串,也可以在三引号中自由使用单引号和双引号:

print('''Mike:Hi,How are you?
Liming:Fine,Thank you!and you?
Mike:I'm fine,too!''')



2.2、字符串的转义

如果要在单引号字符串中使用单引号本身,在双引号中使用双引号本身,则需要借助于转义符(\),如下:

print('what\'s your name?')

注:

(1)在一个字符串中,行末单独的斜杠号表示下一行继续,而不是开始写新的一行

(2)可以使用双反斜杠(\\)来表示反斜杠本身

(3)可以使用\n表示换行符

(4)如果想要指示某些不需要使用转义符进行特别处理的字符串,那么需要指定一个原始字符串。原始字符串通过给字符串加上前缀r或R的方式指定,比如需要原样输出\n而不是令其换行:

print(r'Newlines are indicated by \n')


2.3、字符串下标

name = "test"

print(name[0])
print(name[1])
print(name[2])
print(name[3])


2.4、字符串截取

语法:[起始:结束:步长]

# -*- coding:utf-8 -*-
name = "test00test11"

# 结果:tt
print(name[0:5:3])
# 结果:tes
print(name[0:3])
# 结果:es
print(name[1:3])
# 结果:s
print(name[2:3])
# 结果:t00test1
print(name[3:-1])
# 结果:11tset00tset 倒序
print(name[-1::-1])


注:选取的区间属于左闭右开型,即从“起始”位开始,到“结束”位的前一位结束(不包含结束位本身)


3、列表 --- List

3.1、列表格式

Python列表是任意对象的有序集合,列表写在中括号[]里,元素之间用逗号隔开。

# -*- coding:utf-8 -*-
list = ["test",12,[1,2,3],3.14,True]
print(list)

注意:

(1)可以放入多种类型的数据,Python是弱类型语言

(2)列表中的数据可以修改

(3)储存相同类型的数据的时候使用列表


3.2、列表的切片

每个list中的元素从0开始计数,可以选取list中的元素

# -*- coding:utf-8 -*-
list = ["test",12,[1,2,3],3.14,True]
print(list[1])


3.3、列表的删除

# -*- coding:utf-8 -*-
list = ["test",12,[1,2,3],3.14,True]
list.remove(3.14)
print(list)


注:删除的是对象,Java可以根据下标删除,Python不能

# -*- coding:utf-8 -*-
list = ["test",12,[1,2,3],3.14,True]
list.remove(list[3])
print(list)



4、元组 --- Tuple

元组与列表类似,不同之处在于元组的元素不能修改,元组写在小括号()里,元素之间用逗号隔开

# -*- coding:utf-8 -*-
tuple = ("test",12,[1,2,3],3.14,True)
print(tuple)


5、集合 --- Set

集合是一个无序不重复元素的列表,可以使用大括号{}或者set()函数创建集合,需要注意的是,一个空集合必须使用set()函数创建而不能使用大括号{},因为大括号{}是用来创建空字典的。

# -*- coding:utf-8 -*-
set = {18,19,18,20,21}
print(set)

集合与之前列表、元组类似,可以存储多个数据,但是这些数据是不重复的

集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric_difference(对称差集)等数学运算.

>>> x = set('abcd')
>>> x
{'c', 'a', 'b', 'd'}
>>> type(x)
<class 'set'>
>>> 
>>> 
>>> y = set(['h','e','l','l','o'])
>>> y
{'h', 'e', 'o', 'l'}
>>> 
>>> 
>>> z = set('spam')
>>> z
{'s', 'a', 'm', 'p'}
>>> 
>>> 
>>> y&z #交集
set()
>>> 
>>> 
>>> x&z #交集
{'a'}
>>> 
>>> 
>>> x|y #并集
{'a', 'e', 'd', 'l', 'c', 'h', 'o', 'b'}
>>> 
>>> x-y #差集
{'c', 'a', 'b', 'd'}
>>> 
>>> 
>>> x^z #对称差集(在x或z中,但不会同时出现在二者中)
{'m', 'd', 's', 'c', 'b', 'p'}
>>> 
>>> 
>>> len(x)
4
>>> len(y)
4
>>> len(z)
4
>>>


6、字典 --- Dictionary

字典是一种可变容器模型,且可以存储任意类型的对象,用{}标识,字典是一个无序的键(key)值(value)对的集合

# -*- coding:utf-8 -*-
info = {"name":"张三","id":100,"sex":"男","address":"重庆"}
print(info["name"])
# 删除元素
del info["name"]
print(info)

注意:

(1)以key:value键值对形式存在,存储的信息可以理解为对象信息,格式像json

(2)大括号包含的数据表示字典数据

(3)字典的数据可以修改


7、数据类型转换

函数

说明

int(x [,base ])

将x转换为一个整数

long(x [,base ])

将x转换为一个长整数

float(x )

将x转换到一个浮点数

complex(real [,imag ])

创建一个复数

str(x )

将对象 x 转换为字符串

repr(x )

将对象 x 转换为表达式字符串

eval(str )

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s )

将序列 s 转换为一个元组

list(s )

将序列 s 转换为一个列表

chr(x )

将一个整数转换为一个字符

unichr(x )

将一个整数转换为Unicode字符

ord(x )

将一个字符转换为它的整数值

hex(x )

将一个整数转换为一个十六进制字符串

oct(x )

将一个整数转换为一个八进制字符串



8、数据类型转换


8.1、算术运算符

运算符

描述

实例

+


两个对象相加 a + b 输出结果 30

-


得到负数或是一个数减去另一个数 a - b 输出结果 -10

*


两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200

/


x除以y b / a 输出结果 2

//

取整除

返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

%

取余

返回除法的余数 b % a 输出结果 0

**


返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000


8.2、赋值运算符

运算符

描述

实例

=

赋值运算符

把=号右边的结果给左边的变量 num=1+2*3 结果num的值为7


8.3、复合赋值运算符

运算符

描述

实例

+=

加法赋值运算符

c += a 等效于 c = c + a

-=

减法赋值运算符

c -= a 等效于 c = c - a

*=

乘法赋值运算符

c *= a 等效于 c = c * a

/=

除法赋值运算符

c /= a 等效于 c = c / a

%=

取模赋值运算符

c %= a 等效于 c = c % a

**=

幂赋值运算符

c **= a 等效于 c = c ** a

//=

取整除赋值运算符

c //= a 等效于 c = c // a