• 1. python学习基础


    python学习总结

    python及具有脚本语言的简洁,又具有编写面向对象程序的高级特性,可以说是各种软件开发的利器了特别是,当然目前他的主要用途就是在数据处理方面,通过简洁的语法提高数据处理的效率

    在这里插入图片描述

    python学习参考网址

    python官网

    环境配置

    python环境使用conda+pip进行创建和管理。
    conda安装建议使用miniconda(因为miniconda体积小,基本没有其他无关的包。anaconda体积大,而且下载的包大部分用不到,通过UI界面进行操作很卡,而且升级之后很容易闪退。So,使用miniconda通过命令行进行环境创建管理是十分方便友好的,命令不用记太多,忘记了可以–help(任何命令行工具都可以用这种方式查看)查看奥),miniconda下载地址:conda下载地址 (安装过程中使用默认设置,当然在添加到系统变量的选择上这里是推荐选择的(这样就可以在系统的命令行直接用conda了),然后其他的一直确定即可)

    ⚖ 包管理说明(涉及包的位置,包的查找原理,如何设置模块,init.py

    • pip 或者conda管理的包只是负责管理包的下载和安装,删除,清单,迁移。,不负责代码的构建等其他功能和maven不同。
    • pip下载的文件放在了lib/sit-packages目录下,这个目录默认设置在了sys.path里
    • 包下载的位置,程序通过sys.path设置后,根据设置的路径来寻找
    • 配合包管理的文件是__init.py__文件,有这个文件的文件夹就是一个独立的包,程序在import这个模块的时候会自动执行__init.py__里的代码的,一般__init.py__的内容为空,如果你的模块内还有子模块,那就可以在__init.py__里import 所有的子模块,这样的话外部import * from当前模块的时候会自动把所有子模块也导入进去,就不用手动导入所有模块了。

    conda和pip换源

    使用conda前首先要换源,建议换,可以先试试下不下来再换也来得及。

    conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main
    conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/r
    conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/msys2
    conda config --set show_channel_urls yes
    
    # 重置源
    conda config --remove-key channels
    conda config --remove channels https ://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    # 使用代理,不用换源
    conda config --set proxy_servers.http http://127.0.0.1:8086  #
    conda config --set proxy_servers.https https://127.0.0.1:8086
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    pip使用的时间是conda环境创建完毕之后,在conda创建的环境内进行换源。(该部分放到这里是为了文章归纳的整齐一些。)

    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    阿里云 http://mirrors.aliyun.com/pypi/simple/
    豆瓣http://pypi.douban.com/simple/
    清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
    中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
    华中科技大学http://pypi.hustunique.com/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    conda创建激活和切换环境

    1.创建环境 可以指定python版本,这个python版本本机没有也可以,到时候会自动安装(前提是能上网!!!)
    conda create --name yourEnv python=3.8
    将创建一个名为/tmp/test-env的环境,该环境位于/tmp/中,而不是默认的.conda中.推荐使用可以自定义路径
    conda create --prefix /tmp/test-env python=3.8
    2.激活环境,
    windows ==> conda activate yourEnv
    linux/mac ==> source activate yourEnv
    conda deactivate
    3.列出环境
    conda env list
    4.删除环境
    conda env remove -n yourEnv
    conda remove -n chatgpt --all

    5.查看环境
    conda config --show

    pip进行包的管理

    conda install pip install 都可以,pip conda都可以进包管理,不过pip仓库里收集的包更多一些,用来进行包的安装会好些,如果pip安装不顺就用conda试试,再不行就是包的问题了,可能要看看其他办法了奥。

    🪝pip官网,用来做包查询的

     #######################################################################
    # 安装包相关的命令
    # pip安装包
    pip install 包名
    
    # pip根据指定的源安装包
    pip install -i https://mirrors.aliyun.com/pypi/simple
    
    # pip根据requirements文件安装包
    pip install -r requirements.txt
    
    # pip安装whl包
    pip install xx.whl
    
    # pip根据requirements.txt安装指定路径下的whl包
    # 这里的--find-links只能是当前的路径下,不能考虑切换路径,所以要在whl的目录下运行这个命令奥
    pip install --no-index --find-links=./  -r ./requirements.txt
    
    # pip升级包
    pip install --upgrade #库名
    
    # pip列出可升级包
    pip list --outdate
    ########################################################################
    
    
    # 导出 包相关的命令
    # pip导出依赖
    pip freeze >requirements.txt
    
    # pip增强导出依赖 这样导出的依赖没有file@//等乱七八糟的的内容
    pip list --format=freeze > requirements.txt
    
    # 管理依赖树
    pipdeptree 工具来管理依赖树
    
    # 项目依赖治理(pip-autoremove)
    pip install pip-autoremove
    pip-autoremove flask -y
    #######################################################################
    # 下载whl包相关的命令,pip安装的一个一个的包其实是可以用一种whl格式的文件作为压缩包进行保存迁移的,
    # 使用如下命令可以直接下载whl包,而不是展开的库,下载的whl包可以发到没有网的环境下进行安装的。
    # -d 下载包到指定的位置
    pip download package -d "保存路径"
    
    #  -r 根据requierements文件进行包的下载安装
    pip download -r requirements.txt
    
    # -r -d可以组合使用
    pip download -d "F:\ML\temp\py111" -r requirements.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50

    对于没有网的环境进行部署,可以考虑使用pip down下载所有的whl包,和一个requriemets文件,然后在没有网的环境下使用pip install --no-index --find-links=./ -r ./requirements.txt 进行安装配置,当然没网配置环境很恶心了,遇到这种情况只能good luck了,要有耐心。

    python开发使用的IDE

    推荐使用pycharm啦

    IDE配置python解释器

    使用pycharm新建一个项目,进去之后点击设置(左上角file->setting)或者快捷键(Ctrl+alt+S)进入如下界面,选择python解释器然后点击后面的添加,然后弹出第二幅图,选择现有环境,找到conda创建的环境路径,然后选择里面的python.exe。 (初学者可以考虑安装一个中文插件先适应一下这个IDE然后再关掉,如何安装中文插件可以百度奥,当然细心的人可以看到下图左边区域有个插件选项,点击后搜索chinese simple…点击安装就可以了很简单,重启IDE后生效。)

    在这里插入图片描述
    在这里插入图片描述

    python语法

    基础语法可以参考这:
    参考连接

    细节——数字操作

    保留两位小数 参考python怎么保留两位小数?几种方法总结!

    # 字符串格式化
    a = 12.345
    print("%.2f" % a) # %代表格式化输出,.2代表小数点后保留两位,f代表数据类型是浮点型
    
    # 内置函数
    a = 12.345
    a1 = round(a, 2) #将a通过round函数处理后赋值给a1,传入的2代表保留两位小数
    print(a1)
    
    #decimal函数
    from decimal import Decimal
    a = 12.345
    Decimal(a).quantize(Decimal("0.00")) # 使用默认的进位方式(同round)“0.00”表示保留小数点后两位
    
    # 正则表达式
    import re
    a = 12.345
    re.findall(r"\d{1,}?\.\d{2}", str(a)) #使用正则匹配,将符合规则(一个小数点前有很多位数字,小数点后面只有两位数字的片段)字符串片段取出来
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    细节——字符串操作

    1.字符串格式化

    %格式:格式化表达式format % values。format是一个字符串,values可以是一个对象、元组或字典,format中会有若干个’%'开头的标记转换符
    format格式:另一种表达式的格式式 “str{}“.format(values) ,这种方式更加灵活和被官方推荐,values可以是一个对象、元组或字典 字符串格式化官方文档

    #########################################
    # %格式
    s = "我叫%s, 今年%d岁。" % ("老六", 18) # 我叫老六, 今年18岁。
    print(s)
    s.format()
    ##########################################
    #format格式
    print('{},{}'.format('hello','world'))  #hello,world
    print('{0},{1},{0}'.format('hello','world'))  #位置编号,可以输出多次  hello,world,hello
    print('{a},{b}'.format(a='hello',b='world'))  #a,b关键词 hello,world
    print('{:.2%}'.format(0.12354))   #百分比
    print('{:,}'.format(123456789))   #会计千位分隔符
    print('{:.2f}'.format(31.31412))  #保留2位小数 
    dict={'name':'tom','age':20}
    print('name is {name},age is {age}'.format(**dict)) #name is tom,age is 20
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    细节——python标准库

    python标准库——官方文档

    UI开发——thinker

    用python做一些UI小程序,可以做科学研究或者替代简单的计算工作提高生成效率,或者自娱自乐都可以

    打包python程序为exe文件

    开发出来的UI界面往往需要打包成一个EXE文件给别人使用,这时候就需要一个打包软件来把他打包了

    auto-py-to-exe

    推荐使用该软件进行打包,因为改软件是界面化的,可视操作,其实就是封装了pyinstaller,避免了书写配置文件。
    正常情况下python做的软件一般是一个小软件一个py文件,直接用auto-py-to-exe根据软件提示选择py文件,选择单文件,和基于窗口的即可。
    如果想详细了解pyinstaller如何使用,请参考:
    如果想了解详细的auto-py-to-exe可以参考这:

    # 安装
    pip install auto-py-to-exe
    
    # 启动
    auto-py-to-exe
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    WebApi开发

    三个比较流行的开发框架
    
    • 1

    FastAPI

    Flask

    Django

    Gradio

    orm框架

    SQLAlchemy

    使用参考

    peewee

    使用参考

    定时器

    APScheduler

    中文文档
    英文文档
    教程

  • 相关阅读:
    Git保姆级使用教程
    EdgeX Foundry 边缘计算平台对Modbus设备状态检测和远程控制
    请求方式 ajax 原理
    英国最值得参观的十大博物馆介绍
    新160个CrackMe分析-第1组:1-10(上)
    学习Python,你至少要练习这些代码之13
    JAVA【设计模式】策略模式
    Kotlin 开发Android app(二):Kotlin 的基础数据类型
    Unity Shader—05 Unity中的纹理采样
    阿里推出新品牌“瓴羊”,致力成为“数字化领头羊”
  • 原文地址:https://blog.csdn.net/qq_37771209/article/details/126920767