1.数字(int)
数字又分整型和浮点型,在python中声明变量是不用声明所以自己就会识别
a = 10 #整型
a1 = 1.24 #浮点型
支持科学计数法,将10用e来代替
2.字符串(str)
在python中用引号引起来的就是字符串,而且单引号和双引号并没有什么区别
a = "string"
a1 = 'string'
a2 = '123'
字符串是不可变对象,即一旦在内存中创建不可修改,如果修改或连接字符串会重新开辟空间
a = "string" a.replace("s","b")
在这种情况下我们替换了a中的”s“ ,在python解释器中会输出 "btring",但是当我们print(a) 时我们会发现还是输出“string”,也就是说a并没有变
在字符串,我们需要记住一些常用的方法
- "_".join()
test = "hello" r = "_".join(test); #以“_"方式连接 print(r) h_e_l_l_o
- split()
test = "hello" r = test.split("e")#将字符串以e来分开 print(r) ['h', 'llo']
- find()
test = "hello" r1 = test.find("l") #查找到”l“的第一个位置 r2 = test.find("l",3) #从位置3开始 print(r1,r2) 2 3
- strip()
test = " hello " print(test) r = test.strip()#去掉字符串两边的空格 print(r) hello hello
- upper()
test = "hello" r = test.upper()#将字母大写 print(r) HELLO
- lower()
test = "HELLO" r = test.lower()#将字母小写 casefold 可以达到相同的效果而且,功能更强大 print(r) hello
- replace
test = "hello" r = test.replace("l","a")#将l 替换为a print(r) heaao
- 索引
test = "hello" v = test[0] #以下标索引 v1 = test[0:2] #切片
v2 = test[0:-1] #在此0位可以取到,-1位不可取,即这个切片的取值范围为 0<= <-1
print(v,v1) h he
- len
test = "hello" print(len(test)) # 在python3中len为获取字符串长度在python中 len为获取字节长度(字节长度会根据编码来确定) 5
注:
len 和 join还可用于其他数据类型
例如:list
3.列表(list)
列表就是数组的概念,list是一个有序的集合,它是可变的可以随意删除和增加
a = ["liu","yong"] #一维数组 b = [ "liu",["zhang","li"],"yong"] #二维数组
可以a[0],a[-1],负数就是从后边索引
列表索引是从0开始的依旧是说列表的第一位是0位
在列表中有一些常用的方法
- append()
a = ["liu","yong"] a.append("nihao") #在最后边添加 print(a) ['liu', 'yong', 'nihao']
- insert()
a = ["liu","yong"] a.insert(1,"wo") #在指定位置添加 print(a) ['liu', 'wo', 'yong']
- pop()
a = ["liu","yong"] a.pop() #删除最后一位
print(a)
a.pop(0) #删除指定位置
print(a)
['liu']
["yong"]
- 替换
a = ["liu","yong"] a[0] = "wo" #指定位置替换 print(a) ['wo', 'yong']
z4.元组(tuple)
元组和list类似不过区别在于元组一旦定义不可以在改变
a = ("ni","hao")
但是如果元组内包含list是list依旧可变,但是元组依旧是不可变,我们对于可变和不可变可以理解为内存指向,如果一个元组指向一个list那么不论list内部如何变化list在内存中的位置不会改变
注:
元组外层可以使用括号,也可以不使用
在定义单一元组时必须这样定义
a = (1,)
5.字典(dic)
字典相当于map 在dic中会有一个key和一个value但是在python中的dic简化了map
a = {"liu":99,"li":85} print(a["liu"])#取值如果所取的key不存在直接报错 print(a.get("liu")) #取值如果不存在返回none a["nihao"] = 100 #向dic中存值
“li” in a #判断li是否存在a中
字典是无序的,因为底层是map当然map也是无序的
- 对dic循环
a = {"s": 1, "b": 2, "c": "d", "e": "w"} for item in a: print(item) s b c e ##可以看出默认的是对key循环
- 在python中实际上会简化很多东西,把方法直接写好你可以直接用例如
##对key循环 a = {"s": 1, "b": 2, "c": "d", "e": "w"} for item in a.keys(): print(item) s b c e
- 对value循环
a = {"s": 1, "b": 2, "c": "d", "e": "w"} for item in a.values(): print(item) 1 2 d w
- 对键值对循环
a = {"s": 1, "b": 2, "c": "d", "e": "w"} for k,v in a.items(): print(k,v) s 1 b 2 c d e w
注
在dic中字典以及list 都不可以做字典的key
对于value就没有什么限制
1、cmp(dict1, dict2):比较两个字典元素。
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串表示。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。
5、d.pop(“key“)删除键
1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值