一、必须掌握的python基础
1、基础语法相关
1.1 if 条件判断
if 条件:
# 事情1
else:
# 事情2
需要判断的时候就去写 if
情况一:数据里有我们不需要的数据,需要去判断
情况二:页面结构不统一,会有两种页面结构
1.2 while 循环
while 条件:
循环体
需要判断的时候就去写 if
情况一:数据里有我们不需要的数据,需要去判断
情况二:页面结构不统一,会有两种页面结构
1.3 关于 True 和False
True 是 真的 意思
False 是 假的 意思
在python中,不仅仅可以用 True,或者False来表示真假
print(1 < 2) # True
print(bool(10086)) # True
print(1) # True
print(0) **# False**
print(-1) # True
print(bool("你好呀!")) # True
print(bool(" ")) # True
print(bool("")) **# False**
print(bool([123])) # True
print(bool([])) **# False**
print(bool(None)) **# False**
print(bool([0])) # True
1.4 字符串
1.4.1索引和切片
python提供了四种格式的字符串
s1 = '我是一个字符串'
s2 = "我也是一个字符串"
s3 = """我还是一个字符串"""
s4 = '''我最终还是一个字符串'''
python 对于刚接触编程的人员比较入手,没有其他的转义符
索引,就是第几个字符,它从0开始
s = "后杠使用了双拼色的搭配,下方位置也是使用了大面积的黑色设计,并且将后雾灯和倒车灯设计在了后杠下方中间位置。"
print(s[0]) # 后
print(s[5]) # 双
切片(前开后合),从字符串中提取某个或者复制某段字符
s = "后杠使用了双拼色的搭配,下方位置也是使用了大面积的黑色设计。"
print(s[0: 3) # 后杠使 切片从头开始,不包括索引4的字符在里面,当需要包含需要的字符时
# 索引要往后或者往前多一个
print(s[0: 4) # 后杠使用
# python的索引,可以从后往前取
print(s[-1]) # 计
print(s[5:]) # 双拼色的搭配,下方位置也是使用了大面积的黑色设计。
1.4.2 strip
从网页得到的数据带有换行,空格等等,如何让数据更好看
strip() 可以去掉字符串左右两端的空白(空格,换行\n,回车\r,制表符\t)
s = " \t\n 吃好喝好才有力气减肥!\n\t"
s = s.strip # 字符串已更改,需要重新赋值,覆盖前面的数值
print(s) # 吃好喝好才有力气减肥!
1.4.3 split
split 切割字符串
s = "01,丰田,100000"
s = s.split(",")
num_1 = s[1]
print(num_1)
id,name,shuLiang = s.split(",") # 当知道有几个字符的时候,用相对应的变量接收
print(id)
print(name)
print(shuliang)
1.4.4 replace()
replace 字符串替换
ab = "端午 \t\n粽\n\t是情,两岸\n\t 一家亲"
ab = ab.replace(" ","").replace("\t", "").replace("\n","")
print(ab) # 端午粽是情,两岸一家亲
1.4.5 f-string
格式化字符串的一种文案
python有几种把其他的字符串嵌入其他代码的方式
name = "马尔代夫"
c = "%s身高1.7米" % name
c = "{}体重160斤!".format(name)
c =f"{name}昨天{name}爬山扭伤{name}脚了!"
numb = 119
c = f"应急电话{numb + 1}"
print(c) # 应急电话120
1.4.6 join()
join,将列表拼接为一个完整的字符串
Lst = ["我国","国家","最新标准"]
c1 = ",".join(Lst)
print(c1) # 我国国家最新标准
Lst = ["\n\r","我国",\n\r","国家\n\r","\n最新标准\r"]
d = ""join(Lst).replace("\n", "").replace("\r","")
print(d) # 我国国家最新标准
1.4.7 列表
1.4.7.1 索引与切片
lst = ["美国","日本","加拿大","意大利","拉斯维加斯"]
# itemn = lst[0]
# print(item) # 美国
# s = lst[3][3] # 利
# print(s)
s = lst[1:3] # 日本 加拿大
print(s)
1.4.7.2 给列表增加数据
lst = ["中国"]
lst.append("广东省")
print(lst) # 中国广东省
lst.append("深圳市")
print(lst) # 中国广东省深圳市
列表的修改, 直接用索引位置重新赋值就可以了
range 是用来数数的
i = 0
while i < 10:
print(i)
i += 1
# for 循环
for i in range(10):
print(i)
lst = ["美国","日本","加拿大","意大利","拉斯维加斯"]
for item in lst:
print(item)
# 给字典里面的首字母变成大写
lst = ["apple","orange","banana","意大利"]
# for item in lst: # 只能拿到元素,有可能需要索引 # 循环元素
# s = item.capitalize() # item.title()
# print(s)
# print(lst) # lst里面的首字母还是没有变
# 循环的时候可能要用到索引,这个要看情况
for i in range(len(lst)): # len()可以知道元素的长度 # 循环索引
# print(i)
# print(lst[i])
s = lst[i].capitalize()
lst[i] = s # 修改
print(lst) # 首字母大写修改成功
1.4.8 字典
di_ming = {
"guangzhou":"广州",
"shenzhen":"深圳"
}
print(di_ming.get("donguang")) # get 能拿到 key 的值,但如果字典里没有 key 的名称, 返回 None
字典循环遍历
- 循环 key 值
di_ming = {
"guangzhou":"广州",
"shenzhen":"深圳"
}
for k in di_ming:
print(k)
print(di_ming[k])
- 直接拿到 key 和 value, 需要借助 item() 操作
di_ming = {
"guangzhou":"广州",
"shenzhen":"深圳"
}
for k,v in di_mign.items():
print(k)
print(v)
字典列表混合嵌套
wu_jing = {
"name":"吴京",
"age":49,
"wife":{
"name": "xie nan",
"age": 40,
"hobby": ["模仿", "瑜伽", "写作", "篮球", "游泳", "街舞"]
},
"hobby":["看书", "游泳", "骑马", "拍戏", "潜水", "听音乐"],
"child":[
{"name": "boby1", "age": 6},
{"name": "baby2", "age": 9},
{"name": "boby3", "age": 12}
]
}
# 打印某某老婆的名字
print(wu_jing["wife"]["name"])
# 某某老婆的第三个爱好
print(wu_jing["wife"]["hobby"][2])
# 某某第三孩子的年龄
print(wu_jing["child"][2]["age"])
# 某某所有孩子的名字
for item in wu_jing["child"]:
# print(item)
print(item["name"])
python字典 和 json字符串 的转化
import json
# json字符串 转化为 python字符串
# json.loads(s)
# python字符串 转化为 json字符串
# json.loads(s)