Python基础学习--基于尚硅谷python教学视频
Python学习
1.pycharm一些常用设置
设置通用代码模板
2.注释
单行注释:#
多行注释: ‘’’ ‘’‘’
3.变量类型
Number(数字) : int(有符号整形)、long(长整型,也可以代表八进制和十六进制)、float(浮点型)、complex(复数)
布尔类型:True、Flase
String(字符串)
List(列表)
Tuple(元祖)
Dictionary(字典)
使用
# 变量类型的基本使用
# int
money = 5000
# float
money2 = 1.2# boolean 布尔
sex = True
gender = False# String 字符串 使用的单引号或者双引号
s = "111"# 单引号和双引号的嵌套
s4 = '"嵌套"'
print(s4)
s5 = "'嘿嘿嘿'"
print(s5)# list 列表name_list = ['周杰伦','复活科比']
print(name_list)# tuple 元组
age_tuple =(18,19,20)
print(age_tuple)# dict 字典
# 应用场景 :scrapy框架使用
person = {"key":"value","age":18}
print(person["key"])
4.查看变量数据类型
使用type方法判断变量的数据类型
a = 1
print(a)
print(type(a))# float
b = 2.5
print(b)
print(type(b))# boolean
c = True
print(c)
print(type(c))# String
d = "中国"
print(d)
print(type(d))# List
e = ["str",111]
print(e)
print(type(e))# Dist
f = {"a":"aaa","b":222}
print(f)
print(type(f))# Tuple
g = (1,2,3,4,5)
print(g)
print(type(g))
5.类型转换
# 字符串中特殊字符类型不能被转换
# 转换成整形
# str ---> int
str = '123'
print(type(str))
num = int(str)
print(type(num))# float --> int
a = 1.23
print(type(int(a)))# boolean --> int False = 0 True = 1
b = True
print(type(int(b)))
6.赋值运算符
d,e,f = 1,2,3
print(d)
7.逻辑运算符
# 逻辑运算符 and:与 or:或 not:非
# and:都成立为True
# or:一个成立为True,两个都不成立为False
# not:逻辑非,成立的为False,不成立的True
8.输入输出
输出
# 普通输出
print("1111")# 格式化输出
# scrapy框架的时候 excel文件 mysql redis
age = 22
name = '张三'
print("我的年龄是:"+str(age))
# %s 代表着字符串 %d 代表着数值
print("我的名字是:%s,我的年龄是:%d" % (name,age))
输入
# 输入
code = input('请输入验证码:')
print("我的验证码是:%s" %code)
9.if语句
age = 22
if age>18:print("你成年啦!")score = int(input('请输入成绩:'))
if score>=90:print("优秀")
elif score>=80:print("良好")
elif score>=70:print("及格")
else:print("不及格")
10.for循环语句
# 循环字符串
# range(5)
# range(1,6)
# range(1,10,3)
# 循环一个列表s = 'china'
# i是字符串中的字符变量(c、h、i、n、a)
# s是代表的是要遍历的数据
# range(5) 0~4 左闭右开区间(0,5)
# for i in range(5):
# print(i)# range(1,6)
# for i in range(1,6):
# print(i)# range(1,10,3)
# i=i+3 只要小于<10 步长
# for i in range(2,10,3):
# print(i)# 循环一个列表
a_list = ['zs','ls','ww']
for i in range(0,len(a_list)):print(i)# len() 判断列表中元素的个数
print(len(a_list))
11.字符串高级
获取长度:len | len函数可以获取字符串的长度 |
---|---|
查找内容:find | 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1. |
判断:startswith,endswith | 判断字符串是不是以谁谁谁开头/结尾计算 |
出现次数:count | 返回 str在start和end之间 在 mystr里面出现的次数 |
替换内容:replace | 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。 |
切割字符串:split | 通过参数的内容切割字符串 |
修改大小写:upper,lower | 将字符串中的大小写互换 |
空格处理:strip | 去空格 |
字符串拼接:join | 字符串拼接 |
# len 判断长度
s = 'china'
print(len(s))# 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.
s1 = 'china'
print(s1.find('c'))# 判断字符串是不是以谁谁谁开头/结尾计算
s2 = 'china'
print(s2.startswith('c'))
print(s2.endswith('c'))# 返回 str在start和end之间 在 mystr里面出现的次数
s3 = 'aaabbb'
print(s3.count('a'))# 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
s4 = 'cccddd'
print(s4.replace('c','f'))# 通过参数的内容切割字符串
s5 = '1#2#3#4#5'
print(s5.split('#'))# 将字符串中的大小写互换
s6 = 'aBcD'
print(s6.upper())
print(s6.lower())# 去空格
s7 = ' ddad '
print(len(s7.strip()))# 字符串拼接
s8 = 'a'
print(s8.join('hello'))
12.列表高级
1.添加
# append 默认在列表的最后添加数据
food_list = ['老八秘制小汉堡','小鸡炖蘑菇']
print(food_list)
food_list.append('五花肉')
print(food_list)# insert index的值就是你想插入数据的那个下标
char_list = ['a','c','d']
print(char_list)
char_list.insert(1,'b')
print(char_list)# extend 可以迭代数据
num_list = [1,2,3]
num1_list = [4,5,6]
num_list.extend(num1_list)
print(num_list)
2.修改
# 修改
city_list = ['北京','武汉','重庆']
print(city_list)
# 将列表中的元素的值修改
city_list[2] = '大连'
print(city_list)
3.查找
# 查找 in判断某一个元素是否在某一个列表中
food2_list = ['老八秘制小汉堡','小鸡炖蘑菇','东北乱炖']
# 判断一下在控制台输入的数据是否在列表中
fond = input('请输入您想吃的食物')
if fond in food2_list:print("在")
else:print("不在")# not in 判断某一个元素不在某一个列表中
ball_list = ['篮球','台球']
ball = input("请输入您喜欢的球类:")
if ball not in ball_list:print("不在")
else:print('在')
4.删除
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
# 删除
# del
a_list = [1,2,3,4,5]
print(a_list)
# 根据下标删除列表中的元素
del a_list[2]
print(a_list)# pop:删除最后一个元素
b_list = [1,2,3,4,5]
print(b_list)
b_list.pop()
print(b_list)# remove:根据元素的值进行删除
c_list = [1,2,3,4,5]
print(c_list)
c_list.remove(1);
print(c_list)
13.元组高级
a_tuple = (1,2,3,4)
print(a_tuple[0])# 元祖是不可以修改里面的内容
# a_tuple[0] = 2 是错误的# 1.元组和列表的区别是列表可以修改,元组不能修改
a_list = [1,2,3,4]
print(a_list[0])
a_list[0] = 5
print(a_list[0])# 2.当元组中只有一个元素的时候,那么他是整型数据
b_tuple = (5)
print(type(b_tuple))
# 定义只有一个元素的元组,需要在唯一元素后面写一个逗号
c_tuple = (5,)
print(type(c_tuple))
14.切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作
切片的语法:[起始:结束:步长],也可以简化使用[起始:结束]
s = 'hello world'
# 在切片中直接写一个下标
print(s[0]) #h# 起始:结束,不包含结束,左闭右开
print(s[0:4]) #hell# 起始:,代表起始开始到末尾
print(s[1:]) #ello world# :结尾,从头到结尾
print(s[:4]) #hell# 起始:结束:步长 到下标为6的位置结束,每次增长2个
print(s[0:6:2]) # hlo
15.字典高级
查询
# 定义一个字典
person = {'name':'张三','age':'22'}# 访问person的name
print(person['name'])# 获取一个不存在的key
# print(person['sex']) # errorKey# 第二种获取方法 person.get('name')
print(person.get('name'))
# 使用.get获取一个不存在的key不会报错会给一个None
print(person.get('key')) # None
修改
person2 = {'name':'李四','age':'23'}# 修改之前的字典
print(person2.get('name'))# 修改name的值为法外狂徒
person['name'] = '法外狂徒'
print(person['name'])
添加
person3 = {"name":'老大'}
# 如果使用变量名字['键'] = 数据时,这个键如果在字典中不存在 那么就会变成新增元素
person3['age'] = '18'
print(person3['age'])
删除
# 删除
# del
# (1)删除字典中指定的某一个元素
person4 = {'name':"老马",'age':18}
# 删除前
print(person4)
del person4['age']
# 删除后
print(person4)
# (2)删除整个字典
# del person4
# print(person4)
# clear
# (3) 清空字典 但是保留字典对象
person4.clear()
print(person4) # {} 删除整个字典但是不删除结构
遍历
# 遍历
person5 = {"name":"杨松","age":23,"sex":"男"}# (1) 遍历字典的key
# 字典.keys()
for key in person5.keys():print(key)# (2) 遍历字典的value
for val in person5.values():print(val)
# (3) 遍历字典的key和value
for key,val in person5.items():print(key,val)for key in person5.items():print(key)# (4) 遍历字典的项/元素
for item in person5.items():print(item)
16.函数
函数的定义与调用
# 定义函数
def f():print("欢迎")# 调用函数
f()
函数参数的使用
# 使用函数计算1和2的和
def add(a,b):print(a+b)# 位置参数
add(3,4)
# 关键字传参
add(b = 100,a = 200)
函数返回值
def add(a,b):return a+bc = add(3,4)
print(c)
17.文件
文件的打开与关闭
# 文件的打开与关闭
# open(文件路径,访问模式)
# 模式:w 可写
# r 可读
f = open('test.txt','w')f.write("hello world")# 文件夹是不可以创建的,需要手动创建
f = open("demo/text.txt","w")
f.write("hello python")# 文件的关闭
fp = open("demo/a.txt",'w')
fp.write("hello")
fp.close()
文件路径
绝对路径:绝对位置,完整地描述了目标的所在地,所有目录层级关系是一目了然的。
- 例如:
E:\python
,从电脑的盘符开始,表示的就是一个绝对路径。
相对路径:是从当前文件所在的文件夹开始的路径。
test.txt
,是在当前文件查找test.txt
文件./test.txt
,也是当前文件夹中查找test.txt
文件,./
表示的是当前文件夹../test.txt
,从当前文件夹的上一级文件夹里查找test.txt
文件。../
表示的是上一级文件夹demo/test.txt
,在当前文件夹里查找demo
这个文件夹,并在这个文件夹里查找test.txt
文件
文件的读写
# 写数据
# write方法
fp = open("demo/test.txt","a")
fp.write("hello world,I am here\n"*5)
fp.close()# 如果再运行这段代码,可以覆盖代码
# 想在执行之后追加数据,更改模式 a
# 如果模式变为了a 那么就会执行追加的操作# 读数据
fp = open("demo/test.txt", "r")
# 默认情况下,read是一字节一字节的读,效率比较低
content = fp.read()
print(content)# readline读取一行数据
content = fp.readline()
print(content)# readlines可以按照行来读取 但是会将所有的数据都读取到,并且以一个列表的形式返回
# 而列表的元素是一行一行的数据
content = fp.readlines()
print(content)
18.文件的序列化和反序列化
通过文件操作,我们可以将字符串写入到一个本地文件。但是,如果是一个对象(例如列表、字典、元组等),就无法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里。
设计一套协议,按照某种规则,把内存中的数据转换为字节序列,保存到文件,这就是序列化,反之,从文件的字节序列恢复到内存中,就是反序列化。
Python中提供Json这个模块用来实现数据的序列化和反序列化。
- 对象----->字节序列 === 序列化
- 字节序列----->对象 ===反序列化
JSON模块
JSON是一种轻量级的数据交换标准。JSON的本质是字符串。
使用JSON实现序列化
JSON提供了dump和dumps方法,将一个对象进行序列化。
dumps方法的作用是把对象转换成字符串,它本身不具备将数据写入到文件的功能。
# fp = open("demo/test.txt",'w')
# # 默认情况我们只能将字符串写入文件中
# fp.write("hello world")
# fp.close()# fp = open('test.txt','w')
# name_list = ['zhangsan','lisi']
# # 列表不能写入文件中 如果想写入到文件,那么必须使用序列化操作
# fp.write(name_list)# 序列化的2种方式
# dumps()
# (1) 创建一个文件
fp = open('demo/test.txt','w')
# (2) 定义一个列表
name_list = ['zhangsan','lisi']
# (3) 导入json模块到该文件
import json# 序列化
# 将python对象变成json字符串
# 我们在使用scrapy框架的时候,该框架会返回一个对象 我们要将对象写入到文件中,就要使用json.dumps
names = json.dumps(name_list)# 将names写入到文件中
fp.write(names)fp.close()# dump
# 在将对象转换为字符串的同时,指定一个文件的对象,然后把转换后的字符串写入到这个文件里
import jsonfp = open("demo/test.txt", 'w')
name_list = ['zss', 'ls']
import json
json.dump(name_list,fp)
fp.close()# 反序列化
# 将json字符串变成一个python对象
fp = open("demo/test.txt",'r')
content = fp.read()
print(content)
# <class 'str'>
print(type(content))
# loads 加载字符串
# 反序列化json对象为python对象
result = json.loads(content)
# 转换之后
print(result)
# <class 'list'>
print(type(result))
fp.close()# load 加载文件
fp = open("demo/test.txt",'r')
content = json.load(fp)
print(content)
print(type(content))
19.异常
try:
可能出现异常的代码
except 异常的类型
友好的提示
try:fp=open("demo/s.txt",'r')fp.read()
except FileNotFoundError:print('系统正在升级,请稍后')
20.Urllib
一、反爬手段
User‐Agent:
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
代理IP
西次代理
快代理
什么是高匿名、匿名和透明代理?它们有什么区别?
1.使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。
2.使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。
3.使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。
验证码访问- 打码平台
- 云打码平台
- 超级
Python基础学习--基于尚硅谷python教学视频相关推荐
- Java基础学习:尚硅谷项目三 开发团队调度软件
Java基础学习:尚硅谷项目三 开发团队调度软件 一.软件功能与结构设计 1. 软件功能 该软件实现以下功能: 软件启动时,根据给定的数据创建公司部分成员列表(数组) 根据菜单提示,基于现有的公司成员 ...
- 最新尚硅谷2018SpringBoot教学视频(内含Docker)
尚硅谷SpringBoot视频教程(内含Docker)附代码+笔记+课件 下载地址:百度网盘
- python基础学习笔记12:Python面向对象编程
面向对象编程思想 1.什么是面向过程 传统的面向过程的编程思想总结起来就八个字--自顶向下,逐步细化! 将要实现的功能描述为一个从开始到结束按部就班的连续的"步骤" 依次逐步完成这 ...
- 【Python基础学习笔记day08】python变量的基本使用+变量定义ipython+pycharm+超市买苹果+变量的类型+关于函数+变量的格式化输出+个人名片案例
变量的基本使用 文章目录 变量的基本使用 目标 01. 变量定义 1) 变量演练1 -- iPython 2) 变量演练 2 -- PyCharm 3) 变量演练 3 -- 超市买苹果 思考题 02. ...
- Python基础学习-1-廖雪峰课程-Python的数据类型和面向对象
1.Python程序的组成 程序由模块组成 模块由语句.函数.类等组成 语句包含表达式 表达式建立并处理对象 2.常用的程序文件的后缀 .py Python语言 .pyc Python字节码文件 c: ...
- 尚硅谷python培训怎么样
为了给需要了解机构情况的同学提供最真实的信息,训哥儿解锁新栏目--机构测评. 每周测评一期,每期一家机构,每次采访4-6名该机构的学员,调查机构内部信息,给大家提供最可靠的参考. 第八期机构测评已经在 ...
- 尚硅谷Python自学笔记
文章目录 尚硅谷Python自学笔记 计算基础知识 进制 文本文件和字符集 Python介绍 Python入门 Pytho基本语法 数值 字符串 对象(Object) 对象的结构 算数运算符 条件判断 ...
- python视频教程,尚硅谷python视频教程,百度盘下载
python视频教程,尚硅谷python视频教程,百度盘下载 尚硅谷python视频百度盘下载,关注微信公众号:美丽游戏动漫,回复python获取解压密码,骗人是XXX. 公众号里还有码农想要的福利, ...
- 深度学习必备书籍——《Python深度学习 基于Pytorch》
作为一名机器学习|深度学习的博主,想和大家分享几本深度学习的书籍,让大家更快的入手深度学习,成为AI达人!今天给大家介绍的是:<Python深度学习 基于Pytorch> 文章目录 一.背 ...
- python自学用什么书好-适合python基础学习的好书籍
分享几本python基础学习的书籍给大家 <Python编程:从入门到实践> 内容简介:本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用P ...
最新文章
- qlabel 边加载边更新_盘点十四款国产进口边三轮,挎斗子摩托车,售价从1万至60多万...
- opencv利用直方图判断人脸光照质量
- Docker知识4:如何在win10下安装 / 使用ubuntu ?应用WSL2
- [备忘] Automatically reset Windows Update components
- python 变量引用_Python 知识要点:变量及引用
- 通过Zuul上传文件,禁用Zuul的Filters
- 洛谷P3006 [USACO11JAN]瓶颈Bottleneck(堆模拟)
- 安全和连接是IoT联网设备2大挑战
- Jmeter(二)关联
- 音视频开发(33)----麦克风阵列入门(一)
- BZOJ4627 前缀和 + 权值线段树
- 大数据电商数仓分析项目
- DreamWeaver CS3中的SPRY的自定义验证
- 批量更新 elasticsearch 内指定字段状态, 先查询后更新
- 如何使用 jdk帮助文档
- 吾爱破解专用虚拟机系统不能安装VMwaretools问题!
- QGIS数据分析入门——Qgis下载及界面介绍(一)
- [转] 串、并行加法器
- 2020年最好用的几个PHP开发工具推荐
- Single Round Match 506 Round 1 - Division I, Level Two SlimeXGrandSlimeAuto
热门文章