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