Python基础知识(一)
Python数据类型
- Python3中有六个标准的数据类型
- 不可变数据类型
Number(数字) 、String(字符串)、Tuple(元组)
- 可变数据类型
List(列表)、Set(集合)、Dictionary(字典)
- 不可变数据类型
- 获取数据类型 type(变量名)
str1 = "asd" str2 = 5 str3 = 2.5 print(type(str1), type(str2), type(str3))
- 判断变量的类型isinstance(变量名,数据类型)
print(isinstance(str1, int))
number类型
- Python3 支持四种不同数值类型
int、float、bool(0/1)、complex(复数)
- number类型常用函数
int(x)
float(x)
round(x,n)
print(int(3.6), float(3), round(21.563,2))
- Python数字运算
+ - * / // **
//取商的整数部分,但也并不一定没有小数,要看除数
注意://返回不一定是整数,它与分子分母的数据类型有关系
print(int(3.6), float(3), round(21.563,2)) print(7/3) print(7//3.00) print(2**2) print(4%2)
- 数学函数
abs(x)取得数字的绝对值
ceil(x)返回数字的上入整数
floor(x)返回数字的下舍整数
random.random()返回随机生成的一个实数,它在[0,1)范围内
random.randint(a,b)返回随机生成一个整数,在a~b之间的整数
内置模块(Python自带):
random
注意:一定导入 import 内置模块名
string数据类型
- 字符串是 Python 中最常用的数据类型。Python中的字符串用单引号 ‘ 或双引号 “ 或者’’’括起来
- 字符串可以支持截取,
- 语法格式:变量[start:end:step],索引值从0开始,-1从末尾开始,遵循左闭右开原则,step默认为
str1 = 'abcdefg' print(type(str1)) # 截取:切片 索引从左往右,从0开始,依次+ 索引从右往左,从‐1开始 print(str1[3]) # 取多个值,含头不含尾 print(str1[0:3]) print(str1[‐3:]) print(str1[2::1]) print(str1[2:]) print(str1[::‐1])
- 字符串是不可变数据类型,字符串更新,不能对某个字符更新,只能通过拼接更新
# 字符串不可变类型 print("物理地址1",id(str1)) str1="abcdefg"+"123456" print("物理地址2",id(str1)) print(str1)
- 特殊符号处理
特殊字符需要使用反斜杠 \ 转义,也可以在字符前加r/R
# 特殊字符 \n,\’,\”,\\,\000,\t 转义符 \ str2="hello xiaolin\\n hello hui" str3=r"hello xiaolin\n hello hui" str4=R"hello xiaolin\n hello hui" print(str2) print(str3) print(str4)
- 字符串运算符(+,*,in , not in )
str5="abcdefg"+"fg" print(str5) str6="abcdefg"*2 print(str6)
- 格式化
# 格式化:把非字符串类型转化为字符类型 # 第一种方式% years = 5 age = 18 print("xiuxi工作年限%d年,年龄%d"%(years,age)) # 第一种方式format print("xiuxi工作年限{}年,年龄:{}".format(years,age)) # 字面量格式f print(f"xiuxi工作年限{years}年,年龄:{age}")
tuple数据类型
- tuple(元组)是不可变数据类型,元组写在()里,元素之间用,隔开,各元素类型可以不相同。
tup1=(1,"a",(1,2),[1,2,3,4]) print(tup1) # 创建空元组 tup2=() print(tup2,type(tup2)) # 创建只包含1个元素的元组 元素1 tup3=(1,) print(type(tup3)) # 获取元组中某个元素的值 切片 print(tup1[2]) print(tup1[‐2:]) # 更新元组 +进行拼接 tup4=tup1+tup314 print(tup4) # 元组可以支持运算 +,*,in/not in print(tup1*2) if 1 in tup1: print('存在') else: print('不存在')
- tupele数据类型常见内置函数
tup5=(1,2,3,4) print(len(tup5),max(tup5),min(tup5)) list2=[5,6,7,8,9] print(tuple(list2))
list数据类型
- 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。各元素的类型可以不同。可变数据类型
list3=[5,6,7,8,9] tup6=(5,6,7,8,9) print(list3[0],list3[1:3],list3[‐3:]) # 更新list list3[0]="hhxy" print(list3) # 删除列表元素 del list3[‐1] print(list3) # 列表也支持运算(+ * in/not in) list4=["hui","mo"]+list3 print(list4) print(list4*2) if 'mo' in list4: print('mo 存在列表中')
- list常用内置函数
# 添加append无返回值,把新值添加到列表进行更新 list5=[1,2,3,4,5] list5.append(6) print(list5) # insert也是无返回值,指定索引位置插入值6 list5.insert(3,0) print(list5) # extend一次性插入多个值 list5.extend([7,8,9,10]) print(list5) # 删除 list6=[1,2,3,4,5] list6.pop(0) print(list6) list6.clear() print(list6) # list6.remove() # print(list6) list7=[1,2,3,4,5,1.5] print(list7.count(1)) # index返回第一次匹配的索引值,否则返回异常 print(list7.index(1)) list7.reverse() list7.sort() print(list7) # 降序 从大到小,默认升序 list7.sort(reverse=True) print(list7) tup7=(1,3,5,7) list8=list(tup7) print(list8,type(list8))
dict数据类型
列表是写大括号{}之间、每个元素用key-value(键值)方式表示,元素之间用逗号分隔开。
# key不可以重复,否则取最后的值
dict1={"name":"一路轻笑","age":"18"}
print(dict1)
# 获取字典元组的值
print(dict1["name"],dict1["age"])
# 修改字典元组的值
dict1["age"]=19
print(dict1["age"])
# 增加元素10 dict1["adress"]="深圳"
print(dict1)
# 删除元素
del dict1["adress"]
print(dict1)
# 清除所有元素
dict1.clear()
print(dict1)
# 删除字典对象
del dict1
keys=["name","age","adress"]
info1=dict.fromkeys(keys,"null")
print(info1)
info2=dict.fromkeys(keys,"默认值")
# 循环打印字典key,value?
for x,y in info1.items():
print(x,y)
print(info1.get("name"),info1.get("age"))
print(info1.keys(),info1.values())
# 字典合并
dict2={"name":"一路轻笑","age":"18"}
print("合并前数据:",dict2)
dict3={"adress":"深圳","money":"1000000"}
dict2.update(dict3)
print("合并后数据:",dict2)
# 返回要删除对应key的值
print(dict2.pop("adress"))
print(dict2)
print(dict2.popitem())
print(dict2)