1. Python 特点
Python 面向对象、解析性的语言
几种解析器:
CPython:C 语言解析 Python 语言的解析器
Jpython:Java 语言解析 Python 语言
IronPython:用 C#(.net 平台)解析
PyPy:是使用 Python 语言解析
Python 的应用广,在科学计算、自然语言处理、图形图像处理、脚本开发、Web 应用
Python 几种版本:
Python2.X
Python3.X
Python 并没有做到向下兼容,了解两个版本的区别和联系
能够无缝的改进 Python2.x 的代码 d 到 Python3.x 中
2. Python 基础版本的安装
Python.org
目前版本
3.8.0
3.7.8
3.6.8(目前使用)
2.7.17
Java 语言------.java-----jar 包------mvn repo-----mvn install/uninstall
Python-------.py-------.whl 轮子文件---pip install---pip uninstall
pip 的命令
pip install package
pip uninstall package
pip list 展示安装的包
pip install -U 更新方式安装
3. Anaconda 数据科学环境的安装
IDE--集成开发环境--Eclipse、IDEA 需要加载 JDK-Scala
大数据 hadoop-spark-----CDH(各种大数据组件)
数据科学环境:
Anaconda 是数据科学开发环境
包含了基础的 python 的环境
在原来的 Python 的基础上增加了 180+多个工具包
安装:
windows 安装,直接下一步下一步,遇到需要打钩的地方尽量打上
Anaconda 中有哪些组件?
Anaconda-Navigiter
Anaconda-Prompt
Anaconda-Ipython--增强式的 Python--语法高亮等等---仍然不方便
Anacodna**-jupyternotebook**
jupyter notebook 是一个以 web 程序启动 web 网页交互式的书写代码的平台
底层基于 ipython 的
两种打开方式:
1-界面的点击方式
2-jupyter notebook 方式
后缀名:.ipynb
可以将 ipynb 的文件拖拽到 jupyternotebook 中启动交互式编写代码
Anaconda-Spyder
IDE
-
4. 通过Pycharm和Anaconda的整合
安装 Pycharm---jetBrain 公式
安装 Anaconda
第一步:建议大家更改环境变量
第二步:更改解析器 Interpertor
第三步:创建项目
创建项目的过程中需要指定解析器
第四步:写代码
* 基础代码:
* print函数在Python2和Python3的区别
* ```python
#-*- coding: utf-8 -*-
# @Time : 2022/01/25 10:18
# @Author : 公众号【五分钟学大数据】
# @Email : load
# @File : 1.0HelloWorld.py
# python2中print是语句,既可以加括号也可以不加括号
# python3中print是函数,必须加括号
# print "HelloWorld"
print("HelloWorld")
conda
安装包:pip install conda install
卸载包: pip unistall conda uninstall
更新的方式安装包:pip install -U conda install -U
查看包:pip list conda list(可以查看哪些是 pip 安装的,那些是 conda 安装的)
Conda 命令可以创建独立的 Python 的沙箱环境
在 Python3.6 中创建了一个 Python2.7
create -n create envName python==2.7.0
source active envName
soucre deactive envName
5. Python 的基础数据类型
编码和解码
* 导包
* ```python
import requests as re
get = re.get("https://www.fivedata.cn")
print(get.url)
print(get.encoding)
print(get.text)
#sin(x)
import math
print(math.sin(0)) #0
from math import sin
print(sin(0))
from math import sin as f
print(f(0))
import numpy as np
print(np.random.randn(3,3))
# [[ 1.22524688 1.40990719 1.49014802]
# [-1.3915769 -0.50625637 -0.38625091]
# [-1.39770585 -1.52630576 -0.5186793 ]]
数据类型
## 6. 输入和输出
* 输入
* ```python
# # raw_input将数据进行原样的输入----都是str类型
# # input 输入的类型原样的输入-----如果输入的是数值输出的就是对应的类型
# # 否则input输入的是字符类型的话必须加引号
# # age = raw_input("Please input your age:")
# # print(age)
# # print(type(age))
# age = input("Please input your age:")
# print(age)
# print(type(age))
#python3中输入的语句合二为一input和python2的raw_input是一致的
input1 = input("please input your age:")
print(input1)
print(type(input1))
输出
* 随机数的产生
* 为什么需要随机数?因为获取现实 的数据是非常困难的,可以模仿现实的数据去产生新数据
* 产生一个简单的随机数
* 产生一个符合正态分布的随机数
* 产生一个符合卡方分布的随机数
* ```python
import random
# - 产生一个简单的随机数
print(random.random())
print(random.randrange(1,10))
# - 产生一个符合正态分布的随机数
import numpy as np
print(np.random.randn(3,3))
# [[-0.65330669 -2.17752451 -0.59458216]
# [-1.25848013 1.06000312 -0.21712177]
# [-1.5914388 0.59092913 0.56820017]]
# - 产生一个符合卡方分布的随机数
# df叫做自由度--越大越接近于正态分布
print("chisuare test:\n",np.random.chisquare(3,(3,3)))
print("chisuare test:\n",np.random.chisquare(df=3,size=(3,3)))
7. Python 的数据结构
列表
字典
元祖
集合
代码:
## 8. Python的列表
* list
* 切片操作:
* ```python
#创建
l1 = [1, 2, 3, 4]
l2 = list((1,2,3,4))
l3 = list({1,2,3,4})
l4 = list({1:"apple",2:"banana",3:"ok",4:"hello"})
print(l1)
print(l2)
print(l3)
print(l4)
num=range(10)
print(num)#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range(0, 10)
print(type(num))#<type 'list'> <class 'range'>
print(list(num))
#切片操作[start:stop:step ]
l5 = list(range(10))
print(l5)
print(l5[::])
print(l5[0::])
print(l5[0:2:])
print(l5[0:2])
print(l5[::-1])
print(l5[1::2])
print(l5[::2])
print(l5[1:3]) #1-2
9. Python 的列表的函数
list 的多种创建方法
list 的切片操作
list 的 zip 函数和 enumerate 函数
list 的基本的操作函数
l1 = list(range(10))
print(l1)
print(l1[0])
# 列表操作包含以下函数:
# 1、cmp(list1, list2):比较两个列表的元素---在Python3中取消了cmp函数,在Python2中可用的
# 2、len(list):列表元素个数
print(len(l1))
# 3、max(list):返回列表元素最大值
print(max(l1))
# 4、min(list):返回列表元素最小值
print(min(l1))
# 5、list(seq):将元组转换为列表
# 列表操作包含以下方法:
# 1、list.append(obj):在列表末尾添加新的对象
l1.append("apple")
print("result value is:",l1)
# 2、list.count(obj):统计某个元素在列表中出现的次数
print("list count:",l1.count("apple"))
# 3、list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
l1.extend([6,7,8,9])
print("change x value is:",l1)
# 4、list.index(obj):从列表中找出某个值第一个匹配项的索引位置
print(l1.index("apple"))
# 5、list.insert(index, obj):将对象插入列表
l1.insert(10,"pear")
print(l1)
# 6、list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print(l1.pop())
print(l1.pop())
# 7、list.remove(obj):移除列表中某个值的第一个匹配项
l1.remove("apple")
print(l1)
# 8、list.reverse():反向列表中元素
l1.reverse()
print(l1)
print(l1[::-1])
# 9、list.sort([func]):对原列表进行排序
l1.sort(key=lambda x:len(str(x)),reverse=False)
print(l1)