赞
踩
变量介绍
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
Python 中,变量就是变量,它没有类型,所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
Python3 中有六个标准的数据类型:
Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
序列介绍
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6中内置的序列(即列表、元组、字符串、Unicode字符串、buffer对象和 xrange 对象。),但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
可变序列:List
不可变序列:元组,字符串
序列的通用操作:(1)判断值是否属于序列(in,not in),如:print(a in list1)
(2)连接(+)与重复(*)
(3)下标索引(list1[0]),截取切片
(1)Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
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'> print(isinstance(a, int))# ''' isinstance和type区别 type()不会认为子类是一种父类类型。 isinstance()会认为子类是一种父类类型。 ''' #True的实际值是1,False的实际值是0 print(True == 2)#False print(True == 1)#True print(False == 0)#True print(False == 2)#False del a#通过使用del语句删除对象
补充bool()函数
(2)String(字符串)
str1 = 'Gunooh'
#访问与截取
print(str1[-1]) #输出最后一个字符 h
print (str1[0:-1]) # 输出第一个到倒数第二个的所有字符 Gunoo
print (str1[2:5]) # 输出下标为2到下标为5的字符(左闭右开) noo
print (str1[2:]) # 输出从下标为2后的所有字符 nooh
print (str1 * 3) # 星号 * 表示复制当前字符串,也可以写成 print (3 * str)
print (str1 + "TEST") # 加号 + 是字符串的连接符
#str[0] = 'm' #会报错TypeError: 'str' object does not support item assignment
#截取可以接收第三个参数,参数作用是截取的步长,如果第三个参数为负数表示逆向读取
print(str1[2:5:2]) #no
print(str1[-1:-3:-2])#h
#字符串也可以使用 """...""" 或者 '''...''' 跨越多行。
str1 = '''123'''
str2 = '''a
b
c'''
#str2这种跨越多行写法不能使用''或者"",会报错。
print(str1)
print(str2)
'''
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串
另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。
'''
print('Ru\noob')
print(r'Ru\noob')
总结:
1.Python中的字符串用单引号 ’ 或双引号 " 括起来,也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。
2.使用反斜杠 \ 转义特殊字符。,使用r可以让反斜杠不发生转义。
3.字符串可以用+运算符连接在一起,用*运算符重复。
4.Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
5.Python中的字符串不能改变(不能向一个索引位置赋值)
6.Python 没有单独的字符类型,一个字符就是长度为1的字符串。
补充,str.split()用法
函数说明
str.split(str="",num=string.count(str))[n]
参数说明:
str:(参数中的)表示为分隔符,默认为空格,但是不能为空(’’)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]:表示选取第n个分片
#str.split(str="", num=string.count(str)) #参数:str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。但自己不能写str="" # num – 分割次数。默认为 -1, 即分隔所有。 #返回值:Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 #返回分割后的字符串列表 str = "Line1 -abcdef\nLine2-abc Line4-abcd"; print(str.split()) # 以空字符为分隔符,包含 \n,空格,制表符等 ['Line1', '-abcdef', 'Line2-abc', 'Line4-abcd'] print(str.split(' ')) # 以空格为分隔符 ['Line1', '-abcdef\nLine2-abc', 'Line4-abcd'] print(str.split(' ',1)) #以空格为分隔符,分隔成两个 ['Line1', '-abcdef\nLine2-abc Line4-abcd'] str="hello boy<[www.doiido.com]>byebye" print(str.split("[")) # ['hello boy<', 'www.doiido.com]>byebye'] print(str.split("[")[1].split("]")[0]) #www.doiido.com print(str.split("[")[1].split("]")[0].split("."))#['www', 'doiido', 'com'] print(str) #hello boy<[www.doiido.com]>byebye
(3)列表List
列表常用操作链接
#列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
#列表是写在方括号 [] 之间、用逗号分隔开。
#和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
#列表是有序对象,可以通过下标索引访问数据
list = [ 'abcd', 786 , 2.23 , [1,2] ]
tinylist = [123, 'runoob']
print (list[0]) # 输出列表第一个元素 abcd
print (list[1:3]) # 从第二个开始输出到第三个元素 [786, 2.23]
print (list[2:]) # 输出从第三个元素开始的所有元素 [2.23, [1, 2]]
print (tinylist * 2) # 输出两次列表 [123, 'runoob', 123, 'runoob'],tinylist本身不变
print (list + tinylist) # 连接列表
list[0] = 12 #Python字符串不一样的是,列表中的元素是可以改变的
print(list) #[12, 786, 2.23, [1, 2]]
#Python 列表截取可以接收第三个参数,参数作用是截取的步长,如果第三个参数为负数表示逆向读取
list = [1,2,8,4,5,7]
#以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串
print(list[1:5:2])#[2, 4]
#逆向读取,步长为2
print(list[-1:-4:-2])#[7,4]
print(list[4:2:-1])#[5,4]
print(list[-1::-1])#[7, 5, 4, 8, 2, 1] 第二个参数为空,表示移动到列表末尾
(4)tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组用()标识,不能二次赋值,也没有append()方法,可以理解为不可变的列表。是有序对象,可以通过下标索引进行访问数据。
元组中的元素类型也可以不相同:
Tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (Tuple[0]) # 输出元组的第一个元素 abcd
print (Tuple[1:3]) # 输出从第二个元素开始到第三个元素 (786, 2.23)
print (Tuple[2:]) # 输出从第三个元素开始的所有元素 (2.23, 'runoob', 70.2)
print (tinytuple * 2) # 输出两次元组 (123, 'runoob', 123, 'runoob')
print (Tuple + tinytuple) # 连接元组 ('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
Tuple.append(1) #会报错AttributeError: 'tuple' object has no attribute 'append'
tup1 = (50,)#当元组中只包含一个元素时,需要在元素后面添加逗号
print(len(tup1))
(5)Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
sites = {'Google', 'Taobao', 1, 'Facebook', 'Taobao', 3.0,'A','a'} print(sites) # 输出集合,重复的元素被自动去掉{1, 3.0, 'Google', 'Facebook', 'Taobao', 'A', 'a'} # 成员测试 if 3 in sites : print('3 在集合中') else : print('3 不在集合中') #3 在集合中 # set可以进行集合运算 a = set('abracadabra') b = set('alacazam') a1 = {'a','b','r','a','c','a','d','a','b','r','a'} print(a1)#{'c', 'b', 'd', 'a', 'r'} print(a) #{'c', 'b', 'd', 'a', 'r'} print(b) #{'m', 'c', 'z', 'l', 'a'} print(a - b) # a 和 b 的差集 {'b', 'd', 'r'} print(a | b) # a 和 b 的并集{'m', 'c', 'z', 'b', 'd', 'l', 'a', 'r'} print(a & b) # a 和 b 的交集{'c', 'a'} print(a ^ b) # a 和 b 中不同时存在的元素 {'b', 'd', 'l', 'm', 'z', 'r'}
(6)Dictionary(字典)
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
创建空字典使用 { }
dict = {}
dict['one'] = "哈哈"
dict[2] = "嘿嘿"
dict['one'] = '呵呵'
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值 呵呵
print (dict[2]) # 输出键为 2 的值 嘿嘿
print (tinydict) # 输出完整的字典 {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
print (tinydict.keys()) # 输出所有键 dict_keys(['name', 'code', 'site'])
print (tinydict.values()) # 输出所有值 dict_values(['runoob', 1, 'www.runoob.com'])
补充(7)类型转换
var1 = 1.7
print(int(var1)) #转换为整数1
print(round(var1))#四舍五入 2
print(str(var1))
print(var1,type(var1)) #1.7 <class 'float'>
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
str(x) 将对象 x 转换为字符串
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s)转换为集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。