Python-01基本数据类型

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

标准数据类型

Python3 中有六个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

 

Number例子:Python3 支持 int、float、bool、complex(复数)。在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

 1 import sys    #引入sys模块
 2 num1 = 10
 3 num2 = 1000000000000000000      #python整型是没有限制大小的,可以当作Long类型使用,所以Python3没有Python2的Long类型
 4 num3 = 10.5
 5 num4 = True
 6 num5 = 3.14
 7 num6 = 3.14j
 8 
 9 
10 #1、当把一个常量赋给一个变量后,python可以通过 sys 模块的 getsizeof 去查看变量所占的内存空间。
11 print(sys.getsizeof(num1))     #查看占用多少字节
12 print(sys.getsizeof(num2))
13 print(sys.getsizeof(num3))
14 print(sys.getsizeof(num4))
15 print(sys.getsizeof(num5))
16 print(sys.getsizeof(num6))
17 
18 
19 #2、当你需要知道变量存放的空间时,可以使用type()方法。
20 print(type(num1))              #查看字符类型
21 print(type(num2))
22 print(type(num3))
23 print(type(num4))
24 print(type(num5))
25 print(type(num6))
Number例子

 

String例子:Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。

 1 # str1 = 'hello' ;str2 = 'world' #在python中 ; 号表示一行里面可以分隔多行语句
 2 # print(str1,str2)
 3 # str3 = '''haha
 4 # ha'''
 5 # print(str3)
 6 # str4 = """hello python
 7 # hello world"""
 8 # print(str1,str2,str3,str4)
 9 
10 
11 #字符串操作、切片、变量[头下标:尾下标]
12 str = 'ilovepython'
13 print(str[1:5])   #包前不包后,下标从0开始数
14 print(str[5:])    #切片技术,下标从5开始一直往后
15 print(str[:-6])   #ilove
16 print(str[3:-4])  #vepy
17 print(str[8:-6])  #两个域冲突不包含时,则显示空
18 
19 
20 # 运算符
21 print(str * 2)
22 print(str + 'test')
23 # 字符串方法
24 print(str.capitalize())
25 print(str.lower())
26 print(str.upper())
27 # replace(self,__old,__new,__count);
28 print(str.replace('o','a',1))
29 
30 # 字符串格式化
31 str03 = 'Hi %s'
32 str03 = str03%'xiaohong'
33 print(str03)
34 str04 = 'xiaomei'
35 print('hello,%s'%str04)
36 print('%d + %d = %d'%(1,2,1+2))
37 print('%x'%88)           #转换十六进制%x
38 print('h%5dh'%90)        #右对齐空5个宽度
39 print('h%-5dh'%90)       #-号表示左对齐空5个宽度
40 print('h%05dh'%90)       #右对齐空个宽度并用0补齐
41 print('h%5.2dh'%78.8888) #右对齐整数保留2位%d
42 print('h%5.2fh'%78.8888) #右对齐保留2位小数%f
43 print('h%-5.1fh'%78.8888)#右对齐保留一位小数
String例子

 

List列表:是一种有序和可更改的集合。允许重复的成员。

 1 #列表的基本操作
 2 lista = [10,'hello',10.5,[1,2,3]]
 3 
 4 print (lista[2])       #取出List第二个数据
 5 print(lista[2:])       #取出List第二个及后面的所有数据
 6 print(lista[:-1])      #从左边取出下标为-1及所有的数据
 7 
 8 list1 = [1,2,3]
 9 list2 = [4,5,6]
10 list2 = list1 + list2
11 print(list2)
12 print(list1*3)         #
13 
14 list3 = list2          #变量的地址ID送个list3
15 list3 = list2 [:]      #下标不写也相当于取出所有的List
16 print(list3)
17 
18 #List常用方法
19 
20 listo = []
21 listo.append('hello')   #追加元素
22 listo.append(10.2)
23 print(listo)
24 listo.insert(1,3)       #在List下标为1的位置插入3(在指定位置插入元素)
25 print(listo)
26 listo.append('hello')
27 print(listo)
28 listo.remove('hello')
29 print(listo)
30 p = listo.pop(1)       #返回最后一个元素,并从list中删除之,如果没有后面这个参数表示删除最后一个元素
31 print(p)
32 print(listo)
33 print(listo.count(3))  #该元素在列表中出现的个数
34 print(listo.index('hello'))
35 
36 list4 = [1,2,3]
37 list5 = [4,5,6]
38 list4.extend(list5)    #追加List,即合并List,相当于 list4 = list4 + list5
39 print(list4)
40 
41 li1 = [15,5,-9,0,22,13]
42 li1.sort()             #升序
43 print(li1)
44 li1.reverse()          #反转
45 print(li1)
46 
47 
48 #list复制
49 list3 = list2          #List3为List2的别名,用C来说就是指针地址相同,对List3操作即对List2操作。函数参数就是这样传递的
50 list3 = list2 [:]      #List3为List2的克隆,即另一个拷贝。
List例子

 

Tuple元组:是一种有序且不可更改的集合。允许重复的成员。

 1 #元组是类似于List(列表)的另一个数据类型
 2 #元组用()标识,内部元素用逗号隔开,但是元素不能二次赋值,相当于之都列表
 3 #构造包含0个或1个元素的元组比较特殊,所以有一些额外的语法规则:
 4 #tup1 = ()     #空元组
 5 #tup2 = (20,)  #一个元素,需要在元素后天添加逗号
 6 #注意事项:
 7 #1、元组也可以被索引和切片,方法和列表一样;
 8 #2、与字符串一样,元组之间可以使用+号进行运算,这就意味着他们可以组合和复制,运算后生成一个新的元组;
 9 #3、元组可以使用之前列表中的count()、index()方法,其余方法不行;
10 #4、因为元组不可变,所以代码更安全。如果可能,能用元组代替列表就尽量用元组
11 #
12 lista = [1,2,3,'hello']
13 
14 tuplea = (1,2,3,'hello')     #
15 
16 print(tuplea[2])
17 lista.append(4)
18 print(lista)
19 #元素成为不可变的列表
20 print(tuplea.count(3))
21 print(tuplea.index('hello'))  #返回该元素的位置(就是下标),无则抛出异常
22 
23 tup1 = ()
24 tup2 = (1,)
25 print(tup2)
Tuple例子

 

Set集合例子:是一个无序和无索引的集合。没有重复的成员。

 1 #集合(set)是一个无序不重复元素的序列。
 2 #基本功能是进行成员关系测试和删除重复元素。
 3 #可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须使用set()而不是{},因为{}是用来创建一个空字典。
 4 seta = {1,2,3,1,2,3,'hello'}
 5 print(seta)
 6 #setb = set('hello',1,2,3,'oo')#类型转换错误
 7 setb = set('hello')
 8 print(setb)
 9 
10 a = set('newdream66')   #{'n','w','d','r','e','a','m','6'}
11 b = set('news90')       #{'n','e','w','s','9','0'}
12 print(a-b)              #a和b的差集,即打印a中存在,但b中不存在的元素
13 print(b-a)              #b和a的差集,即打印b中存在,但a中不存在的元素
14 print(a | b)            #a和b的并集,即打印a和b中不重复的所有元素
15 print(a & b)            #a和b的交集,即打印a和b中都存在的元素
16 print(a ^ b)            #a和b中不同时存在的元素
Set集合

 

Dictionary字典:是一个无序,可变和有索引的集合。没有重复的成员

 1 seta = set ()
 2 dicta = {}
 3 dictb =  {'str01':'hello','num01':10}
 4 print(dictb)
 5 #字典中的键必须独一无二,但值则不必,创建时如果同一个键被创建二次,后一个值会被记住;
 6 dictc = {'num1':2,'num1':3}
 7 print(dictc)           #3
 8 
 9 dictd = dict(neme="xiaowei",age = 19)
10 print(dictd)
11 dicte = dict((['name','xiaowei'],['age',18]))
12 print(dicte)
13 
14 lista = [1,2,3]
15 dictf = {}.fromkeys(lista)
16 print(dictf)
17 
18 dictg = {}.fromkeys(lista,'2022')
19 print(dictg)
20 
21 
22 dicth = {}
23 dicth['name'] = 'xiao'       #增加
24 print(dicth['name'])         #查询
25 dicth['name'] = 'hua'        #修改
26 print(dicth)
27 del dicth['name']            #删除
28 print(dicth)                 #输出{}
29 print('************************************************')
30 dicti = {1:'hello','n1':10,'xxx':88}
31 print(dicti.keys())           #返回一个包含字典所有KEY的列表;
32 print(dicti.values())         #返回一个包含字典所有value的列表;
33 print(dicti.get(1))           #返回字典中KEY对应的值,若KEY不存在字典中,则返回default的值(default默认为None);
34 print(dicti.get('hh','test'))
35 print(dicti.pop(1))           #返回最后一个元素,并从Dict中删除之,如果没有后面这个参数表示删除最后一个元素
36 print(dicti)
37 
38 dictj = {1:'sss','n2':228}
39 dicti.update(dictj)           #将字典adict的键值对应添加到字典adict中,无则添加,有则覆盖
40 print(dicti)
41 print(dicti.clear())          #删除字典中所有项或元素;
Dictionary例子

 

posted @ 2022-08-15 16:44  TesterWei  阅读(46)  评论(0编辑  收藏  举报