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.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 |