Python 基础详解

发布于:2022-12-17 ⋅ 阅读:(807) ⋅ 点赞:(0)

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)

 


网站公告

今日签到

点亮在社区的每一天
去签到