乐趣区

关于python:Python3学习笔记

规范数据类型
Python3 中有六个规范的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Sets(汇合)
Dictionary(字典)
Number(数字)
Python3 反对 int、float、bool、complex(复数)。

在 Python 3 里,只有一种整数类型 int,示意为长整型,没有 python2 中的 Long。

像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type() 函数能够用来查问变量所指的对象类型。

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’>
1.
2.
3.
当然:此外还能够用 isinstance 来判断:

a = 111
isinstance(a, int)
后果:True
1.
2.
3.
isinstance 和 type 的区别在于:

class A:

pass

class B(A):

pass

isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
区别就是:

type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
留神:在 Python2 中是没有布尔型的,它用数字 0 示意 False,用 1 示意 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们能够和数字相加。

当你指定一个值时,Number 对象就会被创立:

var1 = 1
var2 = 10
1.
2.
也能够应用 del 语句删除一些对象援用。

del var1[,var2[,var3[….,varN]]]]
1.
也能够通过应用 del 语句删除单个或多个对象。例如:

del var
del var_a, var_b
1.
2.
留神:

1、Python 能够同时为多个变量赋值,如 a, b = 1, 2。
2、一个变量能够通过赋值指向不同类型的对象。
3、数值的除法(/)总是返回一个浮点数,要获取整数应用 // 操作符

Python 还反对复数,复数由实数局部和虚数局部形成,能够用 a + bj, 或者 complex(a,b)示意,复数的实部 a 和虚部 b 都是浮点型
String(字符串)
Python 中的字符串用单引号(‘) 或双引号 (“) 括起来,同时应用反斜杠 () 本义特殊字符。
字符串的截取的语法格局如下:
变量 [头下标: 尾下标]
1.
索引值以 0 为开始值,-1 为从开端的开始地位。

加号 (+) 是字符串的连接符,星号 (*) 示意复制以后字符串,紧跟的数字为复制的次数

str = ‘langdang’

print (str) # 输入字符串
print (str[0:-1]) # 输入第一个到倒数第二个的所有字符
print (str[0]) # 输入字符串第一个字符
print (str[2:5]) # 输入从第三个开始到第五个的字符
print (str[2:]) # 输入从第三个开始的后的所有字符
print (str * 2) # 输入字符串两次
print (str + “TEST”) # 连贯字符串
1.
2.
3.
4.
5.
6.
7.
8.
9.
后果为

langdang
langdan
l
ngd
ngdang
langdanglangdang
langdangTEST
1.
2.
3.
4.
5.
6.
7.
Python 应用反斜杠 () 本义特殊字符,如果你不想让反斜杠产生本义,能够在字符串后面增加一个 r,示意原始字符串:

<<<print(‘lang\ndang’)
1.
后果:

lang
dang
1.
2.

print(r’lang\ndang’)
1.
后果

langdang
1.
另外,反斜杠 () 能够作为续行符,示意下一行是上一行的连续。也能够应用“”“…”“”或者”’…”’逾越多行。

留神,Python 没有独自的字符类型,一个字符就是长度为 1 的字符串。

与 C 字符串不同的是,Python 字符串不能被扭转。向一个索引地位赋值,比方 word[0] =‘m’会导致谬误。

word = ‘Python’
print(word[0], word[5])
P n
print(word[-1], word[-6])
n P
1.
2.
3.
4.
5.
如上所示,下标为正数示意从前面开始取

List(列表)
list(列表)是 Python 中应用最频繁的数据类型。
列表能够实现大多数汇合类的数据结构实现。列表中元素的类型能够不雷同,它反对数字,字符串甚至能够蕴含列表(所谓嵌套)。

列表是写在方括号 ([]) 之间、用逗号分隔开的元素列表。

和字符串一样,列表同样能够被索引和截取,列表被截取后返回一个蕴含所需元素的新列表。

!/usr/bin/python3

list = [‘abcd’, 786 , 2.23, ‘langdang’, 70.2]
tinylist = [123, ‘hello’]

print (list) # 输入残缺列表
print (list[0]) # 输入列表第一个元素
print (list[1:3]) # 从第二个开始输入到第三个元素
print (list[2:]) # 输入从第三个元素开始的所有元素
print (tinylist * 2) # 输入两次列表
print (list + tinylist) # 连贯列表
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
输入后果:

‘abcd’, 786, 2.23, ‘langdang’, 70.2]
abcd
[786, 2.23]
[2.23, ‘langdang’, 70.2]
[123, ‘hello’, 123, ‘hello’]
[‘abcd’, 786, 2.23, ‘langdang’, 70.2, 123, ‘hello’]

1.
2.
3.
4.
5.
6.
7.
与 Python 字符串不一样的是,列表中的元素是能够扭转的:

a = [1, 2, 3, 4, 5, 6]
a[0] = 9
a[2:5] = [13, 14, 15]
a
[9, 2, 13, 14, 15, 6]
a[2:5] = [] # 删除 / 清空
a
[9, 2, 6]
1.
2.
3.
4.
5.
6.
7.
8.
list 大节

List 写在方括号之间,元素用逗号隔开
和字符串一样,list 能够被索引和切片。
List 能够应用 + 操作符进行拼接。
List 中的元素是能够扭转的。
Tuple(元组)
元组(tuple)与列表相似,不同之处在于元组的元素不能批改。

元组写在小括号 (()) 里,元素之间用逗号隔开。

元组中的元素类型也能够不雷同:

基本操作如下

!/usr/bin/python3

tuple = (‘abcd’, 786 , 2.23, ‘langdang’, 70.2)
tinytuple = (123, ‘langdang’)

print (tuple) # 输入残缺元组
print (tuple[0]) # 输入元组的第一个元素
print (tuple[1:3]) # 输入从第二个元素开始到第三个元素
print (tuple[2:]) # 输入从第三个元素开始的所有元素
print (tinytuple * 2) # 输入两次元组
print (tuple + tinytuple) # 连贯元组
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
后果如下

(‘abcd’, 786, 2.23, ‘langdang’, 70.2)
abcd
(786, 2.23)
(2.23, ‘langdang’, 70.2)
(123, ‘langdang’, 123, ‘langdang’)
(‘abcd’, 786, 2.23, ‘langdang’, 70.2, 123, ‘langdang’)
1.
2.
3.
4.
5.
6.
元组与字符串相似,能够被索引且下标索引从 0 开始,-1 为从开端开始的地位。也能够进行截取

其实,能够把字符串看作一种非凡的元组。

tup = (1, 2, 3, 4, 5, 6)
print(tup[0])
1
print(tup[1:5])
(2, 3, 4, 5)
tup[0] = 11 # 批改元组元素的操作是非法的
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: ‘tuple’ object does not support item assignment

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
尽管 tuple 的元素不可扭转,但它能够蕴含可变的对象,比方 list 列表。

结构蕴含 0 个或 1 个元素的元组比拟非凡,所以有一些额定的语法规定:

tup1 = () # 空元组
tup2 = (20,) # 一个元素,须要在元素后增加逗号
1.
2.
string、list 和 tuple 都属于 sequence(序列)。

小结:

与字符串一样,元组的元素不能批改。
元组也能够被索引和切片,办法一样。
留神结构蕴含 0 或 1 个元素的元组的非凡语法规定。
元组也能够应用 + 操作符进行拼接。
Set(汇合)
汇合(set)是一个无序不反复元素的序列。

基本功能是进行成员关系测试和删除反复元素。

能够应用大括号 {} 或者 set() 函数创立汇合,留神:创立一个空集合必须用 set() 而不是 {},因为 {} 是用来创立一个空字典。

student = {‘Tom’, ‘Jim’, ‘Mary’, ‘Tom’, ‘Jack’, ‘Rose’}

print(student) # 输入汇合,反复的元素被主动去掉

成员测试

if(‘Rose’ in student) :

print('Rose 在汇合中')

else :

print('Rose 不在汇合中')

set 能够进行汇合运算

a = set(‘abracadabra’)
b = set(‘alacazam’)

print(a)

print(a – b) # a 和 b 的差集

print(a | b) # a 和 b 的并集

print(a & b) # a 和 b 的交加

print(a ^ b) # a 和 b 中不同时存在的元素
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
后果是:

{‘Mary’, ‘Jim’, ‘Rose’, ‘Jack’, ‘Tom’}
Rose 在汇合中
{‘b’, ‘a’, ‘c’, ‘r’, ‘d’}
{‘b’, ‘d’, ‘r’}
{‘l’, ‘r’, ‘a’, ‘c’, ‘z’, ‘m’, ‘b’, ‘d’}
{‘a’, ‘c’}
{‘l’, ‘r’, ‘z’, ‘m’, ‘b’, ‘d’}
1.
2.
3.
4.
5.
6.
7.
Dictionary(字典)
字典(dictionary)是 Python 中另一个十分有用的内置数据类型。
列表是有序的对象联合,字典是无序的对象汇合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用”{}”标识,它是一个无序的键 (key) : 值(value) 对汇合。

键 (key) 必须应用不可变类型。

在同一个字典中,键 (key) 必须是惟一的。

!/usr/bin/python3

dict = {}
dict[‘one’] = “1 – 华开科技 ”
dict[2] = “2 – 华开教育 ”

tinydict = {‘name’: ‘langdang’,’code’:1, ‘site’: ‘www.jxhkst.com’}

print (dict[‘one’]) # 输入键为 ‘one’ 的值
print (dict[2]) # 输入键为 2 的值
print (tinydict) # 输入残缺的字典
print (tinydict.keys()) # 输入所有键
print (tinydict.values()) # 输入所有值
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
后果是:

1 – 华开科技
2 – 华开教育
{‘name’: ‘langdang’, ‘code’: 1, ‘site’: ‘www.jxhkst.com’}
dict_keys([‘name’, ‘code’, ‘site’])
dict_values([‘langdang’, 1, ‘www.jxhkst.com’])
1.
2.
3.
4.
5.
构造函数 dict() 能够间接从键值对序列中构建字典如下:

dict([(‘langdang’, 1), (‘Google’, 2), (‘Taobao’, 3)])
{‘Taobao’: 3, ‘langdang’: 1, ‘Google’: 2}

{x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

dict(langdang=1, Google=2, Taobao=3)
{‘Taobao’: 3, ‘langdang’: 1, ‘Google’: 2}
1.
2.
3.
4.
5.
6.
7.
8.
另外,字典类型也有一些内置的函数,例如 clear()、keys()、values()等。

小结

字典是一种映射类型,它的元素是键值对。
字典的关键字必须为不可变类型,且不能反复。
创立空字典应用 {}。
Python 数据类型转换
有时候,咱们须要对数据内置的类型进行转换,数据类型的转换,你只须要将数据类型作为函数名即可。
以下几个内置的函数能够执行数据类型之间的转换。这些函数返回一个新的对象,示意转换的值。

参考链接:
Python 3 String Operations

退出移动版