python基础数据类型
一、python的内存管理机制:
(1)、垃圾回收
(2)、引用计数
(3)、内存池机制 #(具体内容没有概括)
二、变量:
变量名只能是字母、数字或下划线的任意组合。name = "yisa"(前为变量名,后为变量值)
变量名全部大写表示常量
三、格式化输出:
info = ''' #(一般多行就用多引号)
--------------------info of %s--------------
name: %s #(%是占位符,s表示字符串,d表示数字)
age: %d #(input默认都是字符串,变为数字 int(input())
-------------------end--------------------"'%(name,name,age)
四、流程控制:
1、if else // if elif elif else
2、while :while True(死循环) break(完全结束一个循环) continue(终止本次循环,接着执行后面的循环
while else(当while正常循环完,没有被break中止的话,就会执行else后面的语句)
五、数据类型:
1、数字:
整型int ,长整型 long, 浮点型 float (有限小数或者无限循环小数) #(在python3,中整形,长整型统一用 int )
2、字符串:
在python中,加了引号的字符都被认为是字符串
s = 'helloworld' 常用操作
(1)、索引:>>>s.[1] 'e'
>>>s.index('e') 1 类似于查找 s.find('i') 3
(2)、替换:>>>s.replace('h','H',max) #(max表示替换次数) 'Hello,world'
(3)、长度:>>>len(s) 10
(4)、切片:s.[0:3] 'hel' #(要头不要尾) s.[:] (全取) s.[::2] ' hlool ' #(从0到最后,跳一个取一个,以此类推)
3、列表:(有序)
list = ['a','b','c','d','e']
(1)索引 (3)、长度(4)切片 与字符串相同
(2)、增加:l.append('f')
(3)、删除:l,remove( ) l.pop()#(删除最后一个) del list[2] #(删除对应元素)
(4)循环: for i in list #(while和for 的区别:while可以是死循环)
(5)、排序:list.sort() #(int与str不能一起排
(6)、清空:list.clear()
(7)、深浅copy:
n2 =[1,2,3,4,5,6,]
n3 = n2 (那么n2做出改动,n3会跟着一起改动)
浅copy : n3 = n2.copy n2[2] = '-1' But n3[2] = 3 // n2.append([7,8]) But n3 = [1,2,3,4,5,6,] #(在这一层,n3不会随着n2一起变)
n2 = [1,2,3,4,5,6,[7,8]] n3 = copy.deepcopy(n2)
n2[6][0] = 2 n3 =[1,2,3,4,5,6,[2,8]] (在第二层不独立,会跟着一起变)
深copy: n4 = copy.deepcopy(n2) #(两层都是独立的,只是copy 了一个杯子)
(8)、range的用法:
list(range(3) ) list = [0,1,2,] 的列表 range(1,100)是一个1到99的列表
4、元祖: (有序)
元祖一旦创建不可修改,所以只能叫只读列表。
但是n2 = (1,2,3,4,['a','b'],5) 元祖里面的列表依然是可以修改的。
基本操作:(索引,切片,循环,长度)和列表是一样的。
5、字典dict:(无序)
dict = {'a':1,'b':2,'c';3}
(1)、增加:dict['a'].append(2)dict = {'a':[1,2],'b':2,'c':3}
(2)、查找:dict['b'] 2
(3)、循环: for k in dict.keys() for k,v in dict.items()
常见操作:dic,keys()返回一个字典所包含的所有KEY的列表
dic.values()返回一个字典所有的value的列表
dic.items()返回一个包含所有(键,值)元祖的列表
dict.clear()删除字典中的所有项或元素
6、集合: (无序,确定,去重)
m = {'a','b','c','d'} f = {‘a','b','e','r'}
集合运算关系:
(1)交集 print(m.intersction(f)) print(m&f)
(2)、合集 print(m.untion(f)) print(m|p)
(3)、差集 print(m.different(f)) print(m-f) (只输出m中有f中没有的部分)
(4)、对称差集 print(m.symmetric_different(f)) print(m^f) (只在m或只在f中放入部分)
常见操作:
(1)、增加; m.add('hello') m = {'a','b','c','d','hello'} (增加单个元素) 对序列的增加:m.update('hello') m = {'a','b','c','d','h','e','l','l','o'}
(3)、删除:m.discard() m.remove() (这种情况要求 元素必须存在)
(2)、清空:m.clear()
列表转集合:
l= [1,2,3] set(l) set([1,2,3,])
7、可变、不可变类型
| 可变类型 | 不可变类型 |
| 列表 | 数字 |
| 字符串 | |
| 元祖 |
#hash的内容必须是变的,(hash就是把任意长度的输入,通过散列的算法变换成固定长度的输出,该输出值就是散列值)

浙公网安备 33010602011771号