python
2019-07-13 11:36:55 0 举报
AI智能生成
python基础
作者其他创作
大纲/内容
整型
int : 用于比较和运算
计算机支持的范围
32位 : -2**31~2**63-1
64位: -2**63~2**63-1
python2 和python3的区别
python2 :整型 int -- long(长整型) /获取的是整数
python3: 整型 int / 获取的是浮点数(小数)
二进制 和 十进制
十进制 转 二进制
除以2取余,自下而上依次取余数
print(bin( ))
二进制 转 十进制
自右向左依次乘2的位次幂(从0计算),最后求和
print(int( 数字,想转换几进制))
布尔值
数字非零的就是True 零就是False
字符串不为空就是True(有空格也是不为空) ,字符串中没有任何内容就是False
字符串详解
在python中引号引起来就是字符串
字符串是用来存储少量数据
字符串是用来存储少量数据
切片
name = " 今天是个好日子"
print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置]
print(name[ : ]) # 某个位置不指定的时候默认取最后或最前
print(name[-2:-5]) # 输出为空
print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
print(name[0:2]) # 顾头不顾尾 name[起始位置:终止位置]
print(name[ : ]) # 某个位置不指定的时候默认取最后或最前
print(name[-2:-5]) # 输出为空
print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
print(name[::2]) #步长为2,所以每两个取一个
print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
print(name[100]) #索引的时候索引值超出范围的时候会报错
print(name[100:105]) #切片的时候起始位置和终止位置都超出的时候不会进行报错
print(name[100]) #索引的时候索引值超出范围的时候会报错
字符串的方法
S系列
s.upper( ) #全部大写
s = input("验证码(AbC5)")
if s.upper() == "AbC5".upper():
print("验证码正确")
else:
print("验证码错误!")
if s.upper() == "AbC5".upper():
print("验证码正确")
else:
print("验证码错误!")
s.lower( ) #全部小写
以....开头/结尾
s.startswith( ) #开头
s.endswith( ) #结尾
s.count( ) #统计
s.strip( ) # 脱: 字符串头尾两端的空格和换行符以及制表符
s.split( ) #分割:以空格和换行符以及制表符进行分割
存在多个可切割目标时,可用maxsplit来指定切割次数,maxsplit=1即切割次数为1.
存在多个可切割目标时,用maxsplit指定切割次数后,可在split前加"r"来更改切割优先方向
s.replace #替换
is系列
s.isalnum( ) # 判断是否是数字,字母,中文
s.isalpha( ) # 判断是否是字母,中文
s.isdigit( ) # 判断是否是数字
s.isdecimal #判断是否是十进制
for 循环
len( ) # 计算字符串的字符数量
for 关键字
i 是变量名
in 关键字
name 可迭代对象
i 是变量名
in 关键字
name 可迭代对象
面试真题
for i in "alex":
pass
print(i) # x
pass 或者 "..." 占位
pass
print(i) # x
pass 或者 "..." 占位
列表
定义
列表--list--容器
有序,可变,支持索引.
列表:存储数据类型很多,字符串,数字, 布尔值,列表,集合,元祖,字典.
有序,可变,支持索引.
列表:存储数据类型很多,字符串,数字, 布尔值,列表,集合,元祖,字典.
lst = ["dsb",123,True,"黑哥"]
# 用逗号分隔的是一个元素
# 用逗号分隔的是一个元素
增删改查
增加
.append( )
追加(在列表的最后位置追加一个内容)
.insert( )
插入 以后尽量不要使用(当数据量比较大的时候会影响效率)
.extend("可迭代的内容")
迭代添加
删除
.pop( )
弹,默认删除最后一个
也可以通过指定索引进行删除
#通过pop删除,有返回值返回的是被删除的元素
.remove( )
移除 -- 通过元素名字进行删除
del
del lst[0]
# 通过索引删除
del lst[0:3]
# 通过切片删除
del lst[0:3:2]
# 通过步长删除
.clear( )
# 清空
改
lst[1] = "123"
# 通过索引改变
lst[1:2] = "12345"
# 通过切片改变,且此方法改变结果为迭代方式
lst[1:4] = 12,13,14,15
# 通过切片改变,但此方法不迭代
# 切片改变列表,元素可以超出切片的位数
lst[1:4:2] = "12"/1,2
# 通过步长改变,步长不为1的必须一一对应,多一个也不行,少一个也不行
查
for 循环
lst = ["dsb",123,"dsb",True,"黑哥"]
for i in lst:
print(i)
for i in lst:
print(i)
列表嵌套
lst = [1,"alex","春生","小东北","渣弟",
["大黑哥",["常鑫",["自行车"],"大煎饼",
"掉井盖","三金"],"冯强","海峰",
["太白金星","女神","吴超",["肖锋"]]]]
["大黑哥",["常鑫",["自行车"],"大煎饼",
"掉井盖","三金"],"冯强","海峰",
["太白金星","女神","吴超",["肖锋"]]]]
# 不管什么类型,进行切片的时候获取到的都是原数据类型
# 取值通过索引进行取值,一层一层的进行查找
元组
定义
元组 -- tuple
有序,不可变,支持索引
只能索引查看和for查看,不能进行增删改
元组用于存储一些比较重要的信息
元组在配置文件中会使用
元组就是不可变的列表
有序,不可变,支持索引
只能索引查看和for查看,不能进行增删改
元组用于存储一些比较重要的信息
元组在配置文件中会使用
元组就是不可变的列表
range
定义
range -- 范围
# 顾头不顾尾
python2 和 python3 中的区别
Python2 中的 range 返回的是一个列表
Python3 中的 range 是一个可迭代对象,写的是怎样打印的时候就是怎样
使用for循环和range
打印 100 - 1
for i in range (100,0,-1):
print(i)
print(i)
打印 1 - 100的所有奇数
for i in range(1,101,2):
print(i)
print(i)
打印 1 - 100的所有偶数
for i in range(2,101,2):
print(i)
print(i)
打印 1 - 100的所有被6整除的数
for i in range(6,101,6):
print(i)
print(i)
字典
定义
字典 -- dict
字典是无序的,可变的数据类型
字典:用于存储数据,存储大量数据,字典要比列表快,将数据和数据之间进行关联
dic = {"常鑫":10,"李文虎":80,"张宇":100}
字典中逗号分隔叫做一个元素"常鑫"(键):10(值) -- 键值对
字典中逗号分隔叫做一个元素"常鑫"(键):10(值) -- 键值对
列表字典集合,可变数据类型不能为"键"
字典的"键"
可哈希的 --- 不可变的数据类型 --- 避免哈希冲突使用了 开放寻址法
# 不可哈希的 --- 可变的数据类型
要求唯一 --- 如果有重复的后边值的将前面的值覆盖
字典的"值"
任意
增删改查
增加
dic = {"常鑫":10,"李文虎":80,"张宇":100}
dic["李文虎"] = 89
dic["李文虎"] = 89
暴力添加,没有就加,有就改
.setdefault( )
去字典查询,没有就添加,有就不执行添加.
删除
del dic[ ]
通过键值对的"键"删除
.pop( )
通过字典的键进行删除键值对 返回值:返回的是删除的值
.clear( )
清空
改
dic = {"常鑫":10,"李文虎":80,"张宇":100}
dic["常鑫"] = "dsb"
dic["常鑫"] = "dsb"
字典中没有某个键值对的时候就是添加,
当键在字典中存在的时候就是修改
当键在字典中存在的时候就是修改
有则改,无则加
.update({ })
update括号中的字典级别高于update前面的字典
查
for i in dic:
循环获取的是字典中每个键值对的键
dic.get( )
通过键获取值,如果将不存在字典中返回None
dic["键"]
通过键获取值,如果将不存在字典中报错
其他操作
for i in dic:
print(i,dic.get(i))
print(i,dic.get(i))
获取字典中所有的键和值
lst = []
for i in dic:
lst.append(dic[i])
for i in dic:
lst.append(dic[i])
获取字典中所有的值
高仿列表系列
dic.keys( )
高仿列表 --dict_keys([ ]) 支持for循环 不支持索引
for i in dic.keys():
print(i)
print(i)
获取字典中所有的键
list(dic.values( ))
获取字典中所有的值
dic = {"1":3,"5":9,"李文虎":100}
print(dic.items())
print(dic.items())
# dict_items([('1', 3), ('5', 9), ('李文虎', 100)])
dic = {"1":3,"5":9,"李文虎":100}
for i in dic.items():
print(i[0],i[1])
# 1 3
# 5 9
# 李文虎 100
for i in dic.items():
print(i[0],i[1])
# 1 3
# 5 9
# 李文虎 100
# 1 3
# 5 9
# 李文虎 100
# 5 9
# 李文虎 100
解构
a,b = 10,12
a = 10
b = 20
a,b = b,a
b = 20
a,b = b,a
a,b = [1,2]
a,b = (3,4)
a,_,b = (3,4,5)
# 3 5
等号后边的值和前面的变量名要一一对应
等号后边的值和前面的变量名要一一对应
a = 10,12
# (10,12) 本质就是一个元组
a,b = "23"
# 2 3
a,b = {"1":"a","2":"b"}
# 1 2
dic = {"1":3,"5":9,"李文虎":100}
for i in dic.items():
print(i)
for i in dic.items():
print(i)
# ('1', 3)
# ('5', 9)
# ('李文虎', 100)
# ('5', 9)
# ('李文虎', 100)
dic = {"1":3,"5":9,"李文虎":100}
for k,v in dic.items():
print(k,v)
for k,v in dic.items():
print(k,v)
# 1 3
# 5 9
# 李文虎 100
# 获取每个元素的键和值
# 5 9
# 李文虎 100
# 获取每个元素的键和值
字典嵌套
dic = {1001:["周杰伦","林俊杰"],
1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
1004:{"韦小宝":[{"教主夫人":["教主"]},{"阿珂":"刺客"},{"双儿":"天地会"}, {"爱心觉罗建宁":"公主"}, {"独臂神尼":{"韦小宝师父":{"兰陵王":"隐身"},"花木兰":[ "唧唧复唧唧","木 兰是战士",{"爸爸":["花和尚"]}]}}, {"陈圆圆":"丈母娘"},{"穆建平":"小郡主"}]},
1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖",]}
}
1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
1004:{"韦小宝":[{"教主夫人":["教主"]},{"阿珂":"刺客"},{"双儿":"天地会"}, {"爱心觉罗建宁":"公主"}, {"独臂神尼":{"韦小宝师父":{"兰陵王":"隐身"},"花木兰":[ "唧唧复唧唧","木 兰是战士",{"爸爸":["花和尚"]}]}}, {"陈圆圆":"丈母娘"},{"穆建平":"小郡主"}]},
1005:{"常鑫":["大黑哥","大烧饼","吃大煎饼","肉夹馍","自行车","井盖",]}
}
找到"教主"
print(dic[1004]["韦小宝"][0]["教主夫人"][0])
找到"井盖"
print(dic[1005]["常鑫"][-1])
找到"熊二"
print(dic[1002]["汪峰"]["前妻2"][-1])
找到"隐身"
print(dic[1004]["韦小宝"][4]["独臂神尼"]["韦小宝师父"]["兰陵王"])
找到"花和尚"
print(dic[1004]["韦小宝"][4]["独臂神尼"]["花木兰"][2]["爸爸"][0])
print(dic[1004]["韦小宝"][0]["教主夫人"][0])
找到"井盖"
print(dic[1005]["常鑫"][-1])
找到"熊二"
print(dic[1002]["汪峰"]["前妻2"][-1])
找到"隐身"
print(dic[1004]["韦小宝"][4]["独臂神尼"]["韦小宝师父"]["兰陵王"])
找到"花和尚"
print(dic[1004]["韦小宝"][4]["独臂神尼"]["花木兰"][2]["爸爸"][0])
0 条评论
下一页