Python爬虫-第一章-1-基础语法

时间:2022-12-17 07:12:32
  1. breakAndContinue
#循环中止和继续

# =========示例1;循环1至10,遇到4时跳过,遇到8时中止循环=======
i = 1
while i <= 20:
if i == 14:
i = i + 1
print('循环到14,跳过')
continue
elif i == 18:
print('循环到18,中止')
break
else:
print(i)
i = i + 1

#测试
C:\Users\moore\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/moore/PycharmProjects/pythonProject/P1基础/P1Demo_breakAndContinue.py
1
2
3
4
5
6
7
8
9
10
11
12
13
循环到14,跳过
15
16
17
循环到18,中止

Process finished with exit code 0

  1. bytes
#Byte 字节转译

try:
'''
字符与编码的基础认知:
1.ascii : 8bit 1byte
2.gbk : 16bit 2byte (遵从asc编码标准)
3.unicode : 32bit 4byte (用以涵盖全世界的字符表示,是一套标准)
4.utf-8 (各国在unicode标准范围内,选择所需字节大小以表述文字)
英文国家 : 8bit 1byte
欧洲 : 16bit 2byte
中国 : 24bit 3byte
gbk 和 utf-8 遵从标准不同,所以不可以直接转换表述内容
转换方式 : 用A标准编码解释 > 获得表述符号 > 将表述符号以B标准编码进行转译
byte类型 :b'x' 一个x代表1byte
'''

# content = '空之境界'
# # 1,获取gbk编码
# gbk_code = content.encode('gbk')
# print(gbk_code) # b'\xbf\xd5\xd6\xae\xbe\xb3\xbd\xe7' 合计 8byte,一个汉字2byte

# -------------将‘空之境界’的gbk编码转译成utf-8编码---------------------------
gbk_code = b'\xbf\xd5\xd6\xae\xbe\xb3\xbd\xe7'
content = gbk_code.decode('gbk')
print(content) # 空之境界
content = content.encode('utf-8')
print(content) # b'\xe7\xa9\xba\xe4\xb9\x8b\xe5\xa2\x83\xe7\x95\x8c' 合计 12byte,一个汉字3byte

except ZeroDivisionError as e:
print(e)

#测试
C:\Users\moore\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/moore/PycharmProjects/pythonProject/P1基础/P1Demo_bytes.py
空之境界
b'\xe7\xa9\xba\xe4\xb9\x8b\xe5\xa2\x83\xe7\x95\x8c'

  1. dict
#dict 字典

try:

'''
dict 字典,表示方式 {key:value}
key:可Hash类型
value:任意
'''
dict_to_curd = dict()
dict_to_curd.clear()
dict_to_curd = {'最喜欢的御姐': '两仪式',
'最想做的事': '可以什么都不做',
'key4': '测试变更用',
'key888': 'test测试用', } # C
dict_to_curd.setdefault('key3', '让家人幸福') # addDefaultVal
# =================示例1,CURD==========
# print(dict_to_curd)
# dict_to_curd['key4'] = '大鱼海棠' # U
# print(dict_to_curd)
# print(dict_to_curd['最喜欢的御姐']) # R
# dict_to_curd.pop('最想做的事') #D
# print(dict_to_curd)
# lst = list()
# for key in dict_to_curd:
# if str(dict_to_curd[key]).__contains__('测试') == True:
# lst.append(key)
# print(lst) #['key4', 'key888']
# for lstKey in lst:
# dict_to_curd.pop(lstKey) # D
# print(dict_to_curd) #{'最喜欢的御姐': '两仪式', '最想做的事': '可以什么都不做', 'key3': '让家人幸福'}

# =================示例2,批量处理==========
# 1,循环取值
# for item in dict_to_curd: # 遍历索引
# print(item,dict_to_curd[item])
'''
输出:
最喜欢的御姐 两仪式
最想做的事 可以什么都不做
key4 测试变更用
key888 test测试用
key3 让家人幸福
'''

# 2,获取所有键值
# print(dict_to_curd.keys()) #dict_keys(['最喜欢的御姐', '最想做的事', 'key4', 'key3'])
# print(dict_to_curd.values()) #dict_values(['两仪式', '可以什么都不做', '测试变更用', '让家人幸福'])
# print(dict_to_curd.items()) #dict_items([('最喜欢的御姐', '两仪式'),
# ('最想做的事', '可以什么都不做'),
# ('key4', '测试变更用'),
# ('key3', '让家人幸福')])

# 3,利用解构的方式获取字典键值
'''
#解构简单例子:
tupleSample = ('key','value')
a,b = tupleSample # or a,b = 'key','value'
print(a,b) #输出 key value
'''
for key, value in dict_to_curd.items():
print(key, value)
'''
输出:
最喜欢的御姐 两仪式
最想做的事 可以什么都不做
key4 测试变更用
key888 test测试用
key3 让家人幸福
'''

except ZeroDivisionError as e:
print(e)


#测试
C:\Users\moore\PycharmProjects\pythonProject\venv\Scripts\python.exe C:/Users/moore/PycharmProjects/pythonProject/P1基础/P1Demo_dict.py
最喜欢的御姐 两仪式
最想做的事 可以什么都不做
key4 测试变更用
key888 test测试用
key3 让家人幸福