Python回顾笔记(此讲大致说明,详情请看之前的笔记)
内容概要
-
数据分析(numpy,pandas,matplib)
-
数据清洗
-
爬虫
-
teableau软件
今日内容概要
-
Python知识回顾
-
数据分析
-
ipython模块
-
anaconda软件
-
numpy简介
今日内容详细
计算机基础
-
五大组成部分
-
三大核心硬件
-
操作系统
Python回顾
1.编程语言
人与计算机沟通交流的媒介
Python、Java、C+、C++、PHP、Ruby、JS
2.Python解释器
计算机是基于电工作的,计算机只认识01010101的二进制数据
Python代码 》》》Python解释器 》》》0101二进制
#要想让你的计算机能够识别并允许Python代码,需要先提前下载一个Python解释器
2.X和3.x版本,我们推荐使用3.x版本
3.环境变量
在终端输入文件路径之后会去环境变量中的一个个路径下查找是否有该文件,配置环境变量的好处就在于,我们查找文件的时候不需要切换路径
4.pycharm软件
主要是给Python开发程序员使用的,我们做数据分析使用的较少,我们一般会用jupyter notebook(anaconda)
pycharm也要会基本的使用,因为后面我们可能需要自己编写爬虫代码
#该软件是收费的 需要破解
Python基本语法
1.变量
变量名 赋值符号 变量值
username = 'jason'
#常量:即不变的量 或者说不会轻易被修改的量
2.基本数据类型
不同的数据应该有不同的存储机制和处理手段,所以有了多种类型的概念
整型 int
浮点型 float
字符串(引号引起来的都叫字符串)str
列表list([1,2,3,4,5])
字典dict({'username':'jason','password':123})
布尔值bool(True、false)
元组tuple((1,2,3,4,5))
集合set({1,2,3,4,5,6,7})
3.类型转换
把一个数据类型转换成另一种数据类型,从而具有该数据类型的操作方法
int('123')
float('11.11')
str([1,2,3,4,5])
list()
dict()
...
流程控制
"""
缩进
在Python中缩进是用来表示代码的从属关系
属于同一个代码的多个子代码块必须是相同缩进量
粗略的总结
只要遇到了冒号,那么下一行代码肯定需要缩进
"""
顺序结构
分支结构
循环结构
分支结构
if 条件1:
条件1成立之后执行的代码块
elif 条件2:
条件1不成立,条件2成立的情况下执行的代码块
...
else:
上述所有的条件都不成立的情况下执行的代码块
循环结构
while条件:
条件成立之后执行的代码块
"""
每次执行完while代码块之后都需要重新判断条件是否成立
如果还成立则继续执行直到条件不成立
"""
break
break直接结束所在的while循环
continue
continue跳过此次循环直接开始一下一次
for变量名 in 容器类型:
for循环的代码块
"""
会将容器类型里面一个个的元素循环取出
挨个赋值给in前面的变量名
for循环的好处是不需要你自己加循环结束的条件
一旦容器类型里面的元素取完了,for循环自动结束
"""
for i in range(1,11): #[1,2,3,4,5,6,7,8,9,10]
print(i)
字符编码
字符编码表
记录了人类能够读懂的字符与数字的对应关系
ASCII码
GBK码
...
unicode万国码
utf8是万国码的优化版本
#目前内存里面是有的是Unicode 硬盘中使用的统一都是utf8
'''
在中国Windows电脑的终端默认使用的编码是GBK
'''
保证不乱码的核心就是当初以什么编码存的就用什么编码取
文件操作
"""
字母r的意思取取消转义
斜杠跟一些英文字母的组合会有特殊的含义
字母r就是取消这些含义 写什么就是什么
"""
文件操作的固定语句格式
with open(r'文件路径','读取模式',encoding='utf-8')as f:
pass
#文件的操作模式
r
只读模式 文件不存在直接报错
f.read() 直接将文件内容全部读取到内存
with open(r'a.txt','r',encoding='utf-8') as
f:
pass
w
只写模式 文件不存在会自动创建,文件存在会先清空该内容
f.write() 朝文件中写内容
with open(r'a.txt','w',encoding='utf-8') as f:
pass
a
追加模式 文件不存在会自动创建,文件存在不会清空给文件内容 f.wirte() 会直接在文件末尾填写数据
with open(r'a.txt','a',encoding='utf-8') as f: pass
#文件的打开方式
t
文本模式
也是默认的文件打开模式
1.该模式只能操作文本文件
rt
wt
at
2.必须要指定encoding参数
b
二进制模式
1.可以打开所有类型的文件
2.一定不能指定encoding参数
# 文件内光标的移动
f.seek(whence,offset)
函数
函数就是工具,可以解决一系列问题
在Python中一定要注意的是函数必须先定义后调用
#定义函数(定义函数的时候只检测语法不执行代码)
def 函数名(参数1,参数2,...):
"""函数的注释:用来描述函数的作用及参数的限制"""
函数体代码(函数的主要功能)
return 返回值
"""
1.def是定义函数的关键字
2.函数名
函数名的命名遵循变量名的命名规范
尽量做到见名知意
3.参数
在调用函数的时候可以从外界传入数据到函数体内部
参数不是必须的
4.函数注释
用来对函数的解释 以及说明 类似于说明书
5.函数体代码
程序员按照自己的思维逻辑和想法编写出来的能够完成特定功能的代码
6.return关键字
调用完函数之后可以返回给调用者的结果
"""
#调用函数(调用函数的时候才会真正的执行函数体代码)
固定语句
函数名(参数1,参数2,...)
#函数的参数
1.位置参数:有几个就传几个 多一个不行少一个也不行
def index(a,b):
pass
index(1,2)
2.关键字参数:指名道姓 打破位置限制
index(b=1,a=2)
3.默认参数:先提供一个默认的 后期传了就用传的不传就用默认的
def register(name,age,gender='female'):
pass
4.可变长参数:接收多余的位置和关键字参数
def index(*args,**kwargs):
pass
"""
*在形参中
用来接收多余的位置参数,组织成元组的形式赋值给*号后面的变量名
**在形参中
用来接收多余的关键字参数,组织成字典的形式赋值给**号后面的变量名
"""
#我们以后在写函数的时候如果不能明确这个函数将来需要几个参数的情况下就可以直接使用
*args和**kwargs来一并接收
#函数的返回值
1.函数里面没有关键字return调用完函数之后返回none
2.函数里面有关键字return的情况下,return后面写什么就返回什么
return 123
return 1,2,3,4,5,6 # 会自动封装成元组的形式返回
3.函数体代码遇到return会直接结束函数的运行
模块
就是提前写好的具有一些功能的代码/函数
模块的使用
1.import
2.from...import...
'''
import time
print(time.time())
print('哈喽 你们还认识我吗?')
'''
'''
import datetime
#当模块的名字比较长的时候我们也可以给模块起别名
print(datetime.datetime.today())
'''
import datetime as dt
print(dt.datetime.today())
from datetime import datetime
print(datetime.today())
"""
python之所以这么牛逼 不在于它本身而在于
基于Python写的模块支持Python语法的模块非常非常的多并且功能都能非常非常的强大
"""
如果你想要使用的第三方的模块,需要你提前下载
1.命令行中下载模块
pip3 install pymysql
#Python默认下载的仓库是在国外的
1.你在国内想让下载的速度快一些,可以将仓库由默认的国外改为国内
阿里源
清华源
淘宝源
2.如何修改下载源
1.在pycharm中
2.在命令行中
pip3 install pymysql
pip3 install Flask -i
3.创建并修改配置文件
mkdir~/.pip
vim~/.pip/pip.conf
[global]
timeout = 6000
index-url =
http://mirrors.aliyun.com/pypi/simple/
trusted-host =pypi.tuna.tsinghua.edu.cn
包
代码组成的文件可以称之为模块
包类似于文件夹
里面用来存放多个文件(模块)
包其实就是内部包含了多个模块的文件夹
为了舒适的结果,眼前的坎坷路程即使再长都是值得的。