Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间
一,进阶字符串(格式化输出)
在python中+号有两个作用:
1.数学运算符 用于整型 浮点型等数学直接进行加法操作
2.用来进行字符串的连接
字符串的增加方法:
字符串+字符串
money = 8.8
food = '火锅'
print('晚上还有' + money, '吃一顿' + food)
# 类型错误 相当于'6'+6 是不能相加的 只能是同类型相加
```python
1.去掉+号
print('晚上还有', money, '吃一顿', food)
#去掉+ 就不是拼接 只是数据之间隔开
2.类型转换
print('晚上还有' + str(money), '吃一顿' + food)
#类型错误 +号只能增加相同的数据类型把8.8改为字符串
1.f-str
最简单方便的输出方式
f-str(format string全拼)
name='魔鬼辣椒'
money=9.9
talk='xxx1212121'
print(f'[pxx]{name}用户您好恭喜您成为幸运用户,仅需{money}元即可获得电饭煲一个 请加上这个{talk}微信获取')
print(F'{name}好吃不贵只需要{money+10}')
print(F'{name[0]}好吃不贵只需要{money+10}')
2.占位符
通过占位符先占一个位置 后续再用具体的值补上
语法格式:
print(‘xxxx%dxx%s’%(数据1,数据2))
%s=str类型 – 占位置 放字符串
%d=int类型 – 占位置 放整数(有小数点会被抹除)
%f=float类型 – 占位置 放浮点数(默认6位小数)
%.1f --> 带一位小数
%.xf --> 带x位小数
放的数据都是已知数据 类型是固定死的
name = '婷婷'
age = 18
money = 99.9
hobby = '睡觉'
print('''
个人信息表
-------
姓名:%s
年龄:%d
工资:%.1f
兴趣:%s
''' % (name, age, 10000.0, hobby))
也可以直接放数据
3.format
语法格式:
print(‘xxx{}xxx{}’.format(数据1,数据2))
print(‘xxx{下标}xxx{下标}’.format(数据1,数据2))
print('{},{}同学心血来潮染了{}发色'.format('今天', '小明', '绿'))
print('{1},{2}同学心血来潮染了{0}发色'.format('今天', '桑杰伦', '绿'))
传入的数据类型是不限制的
数据可以多但是不能少
二.绝对路径与相对路径
绝对路径:完整的具体位置
从盘符触发 一步步到文件的具体位置
相对路径:简单位置 有一个参考坐标(需要再同一个文件夹里使用)
文件所在的文件夹位置参考
三.字符编码
字符编码/字符集:把我们输出的内容文本转换为计算机能识别的二进制数字
一个程序是用什么编码写的 就使用相对应的编码去使用/读取
1.1963年推出了第一套ASCII码
收入了一些常用的数据
大小写英文字母 常用的英文符号 数字
每个字符都有一个对应的数字(码点)
最早只有127字符
#没有中文或者其他语言 字符较少不够用
每个位置都是有对应的值
2.1995年 --> 国内研发出了GBK编码 --> 带了两万多汉字
同时间中国台湾 --> BIG5 大五码 繁体字
每个国家的语言不通 所以只显示自己国家的文字
用别的国家的软件就容器出现问题
3.Unicode(超过14万字符)
各个国家自己指定编码标准
包括了 汉字平片甲片 藏文 阿拉伯文等等
#单个字符占据的存储内存空间太大
4.UTF-8(神,世界上目前最主流的字符编码)
1992年世界上有个组织专门做的就是统一全球的一些知识 这个组织收集了很多国家的语言文字 放在一起 做成一个大的字典 很多国家很多电脑都可以识别里面的内容
#pycharm等一些文本编辑器都是可以指定编码读写
在程序中每个字每个数据都有对应的序号
ord(字符) 通过字符 找到序号
chr(序号) 通过序号 找到字符
print(ord('火')) #28779
print(ord('攻')) #25915
#
# print(chr(28779))
# print(chr(25915))
#
# #凯撒加密 加密模式 +/- +10
# print(chr(28789)) #灵
# print(chr(25925)) #故
print(‘火’>‘攻’)
print(‘麻’>‘辣’)
#字符串对比的是底层编码
四,参数end
print输出函数里面默认有个参数 叫end
end=‘\n’ 他其实就是print默认的 相当于end他是在print的后面默认设定传递字符串 那么我空字符串就清除了他的换行功能
end就是会给每个print后面追加一个数据 默认是\n 可以手动更改这个追加的数据是啥
五,拓展爬虫
爬虫技术原理 – 模拟用户与服务器数据进行数据交互的程序
(模拟真人做事 给出数据跟拿取数据的过程这个就是交互)
请求得到结果:
保存数据 文件图片视频
交互 淘宝买东西 秒杀
1.流程
# 模块后期会学到 在这里只要知道他是一个工具
# requests 请求 - 问
# response 相应 - 答
# pip install requests (这个工具必须要下载才可使用)
# 0.准备作案工具 -- 导入模块
import requests
# 1.找到个学霸 -- 找到爬取网页
url = 'https://www.baidu.com/?s%20wd=zhoujielun'
# 2.达成py交易--向服务器发出请求
res = requests.get(url)
# 3.拿到作业--拿到数据
res.encoding = 'utf-8' # 拿到数据的时候先编码转换
html = res.text # 把res的数据转换为文本
# 4.开抄-- 把数据保存到本地/数据库
# 文件操作器 可以把文件保存到本地(1,文件名字 2.操作方式 写入 3.字符编码)
# as取别名 小名
with open('浏览器1.html','w',encoding='utf-8')as f:
f.write(html)