Python 学习
创始人
2025-06-01 14:33:05

Python

  • 环境搭建
    • conda 基础命令
    • python 基础命令
  • if __name__ == '__main__':
  • argparse 模块
    • 创建解析器
    • 添加参数
    • 获取数据
    • 子命令
  • Python 变量类型
    • 数字
    • 字符串
    • 列表
    • 元组
    • 字典

在后台项目中涉及到了 python 模块,再次被迫无奈学习了 python 相关知识

环境搭建

首先要搭建一个 python 环境,就不能直接下载 python。Anaconda 是一个开源的 Python 发行版本,其包含了 conda、Python 等180多个科学包及其依赖项。它可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换

它允许我们创建一个虚拟环境,在虚拟环境下搭建安装 python 的环境,比直接安装 python 简单

conda 基础命令

-- 查看 conda 版本,也可以用于查看是否安装好了 conda
conda --version-- 查看所有的环境
conda env list-- 查看所有的 conda 包的信息
conda list-- 创建环境
conda create -n python34 python=3.4
conda create --name python34 python=3.4-- activate 能将我们引入 anaconda 设定的虚拟环境中
-- 如果你后面什么参数都不加那么会进入 anaconda 自带的 base 环境
activate python34 -- 退出当前base环境
conda deactivate-- 卸载环境
conda remove --name test --all

python 基础命令

接下来我们需要使用 python 下载所需要的包

-- 下载安装 requests 包
conda install requests
pip install requests-- 通过文件下载包
pip install -r requirements-- 镜像下载
pip install   -r requirements -i https://mirrors.aliyun.com/pypi/simple-- 卸载第三方包
conda remove requests
pip uninstall requests

我们在下载的时候可能会失败,这时候需要修改下载包的镜像

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

国内常用镜像

-- 清华镜像
https://pypi.tuna.tsinghua.edu.cn/simple
-- 中科大镜像
https://pypi.mirrors.ustc.edu.cn/simple
-- 豆瓣镜像
http://pypi.douban.com/simple/
-- 阿里镜像
https://mirrors.aliyun.com/pypi/simple/

if name == ‘main’:

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的

每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 name,当该模块被直接执行的时候,name 等于文件名(包含后缀 .py );如果该模块 import 到其他模块中,则该模块的 name 等于模块名称(不包含后缀.py)。

而 “main” 始终指当前执行模块的名称(包含后缀.py)。进而当模块被直接执行时,name == ‘main’ 结果为真

argparse 模块

argparse 是一个 Python 模块:命令行选项、参数和子命令解析器。

argparse 模块可以让人轻松编写用户友好的命令行接口。程序定义它需要的参数,然后 argparse 将弄清如何从 sys.argv 解析出那些参数。 argparse 模块还会自动生成帮助和使用手册,并在用户给程序传入无效参数时报出错误信息

创建解析器

parser = argparse.ArgumentParser(description='Process some integers.')

使用 argparse 的第一步是创建一个 ArgumentParser 对象。

ArgumentParser 对象包含将命令行解析成 Python 数据类型所需的全部信息。你可以在创建的时候向里面输入一些信息

  • usage - 描述程序用途的字符串(默认值:从添加到解析器的参数生成)
  • description - 在参数帮助文档之前显示的文本(默认值:无)
  • add_help - 为解析器添加一个 -h/–help 选项(默认值: True)

添加参数

parser.add_argument('-integers', type=int, default=1)

给一个 ArgumentParser 添加程序参数信息是通过调用 add_argument() 方法完成的

获取数据

args = parser.parse_args()
print(args.integers)

ArgumentParser 通过 parse_args() 方法解析参数。它将检查命令行,把每个参数转换为适当的类型然后调用相应的操作.在脚本中,通常 parse_args() 会被不带参数调用,而 ArgumentParser 将自动从 sys.argv 中确定命令行参数

子命令

ArgumentParser 可以通过 add_subparsers 的方式去创建子命令,用该方法获取的子构造器可以获取更多的子 parser,子 parser 的使用方式和 ArgumentParser 类似

subparsers = parser.add_subparsers(help='sub-command help')
# 添加子命令 add
parser_a = subparsers.add_parser('add', help='add help')
parser_a.add_argument('-x', type=int, help='x value')
parser_a.add_argument('-y', type=int, help='y value')# 获取 x 并且使用
args = parser.parse_args()
print(args.x)

在向其输入值的时候,需要在前面加上添加的子 parser 名称

-a 1111 -b 123 c2b -x 250

我们可以在创建 subparsers 的时候设定标题,并且以此可以获取用户输入了哪个子 parser

    subparsers = parser.add_subparsers(title="commands", dest="command")order_parser = subparsers.add_parser('order')args = parser.parse_args()if args_info.command == 'order':print("order")

Python 变量类型

python 具有所有动态语言的特性,就是它的类型可以随意转换,值可以瞎几把放

数字

数字数据类型用于存储数值,他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。当你指定一个值时,Number 对象就会被创建:

var1 = 1
var2 = 10

字符串

字符串或串是由数字、字母、下划线组成的一串字符。一般记为 :

s = "a1a2···an"   # n>=0

它是编程语言中表示文本的数据类型。python 的字串列表有2种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符

加号(+)是字符串连接运算符,星号(*)是重复操作

str = 'Hello World!'print str           # 输出完整字符串
print str[0]        # 输出字符串中的第一个字符
print str[2:5]      # 输出字符串中第三个至第六个之间的字符串
print str[2:]       # 输出从第三个字符开始的字符串
print str[2:5:2]    # 输出从第二个字符开始、第五个字符结束、步长为二的字符组,即 ['l', 'o']
print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串

其他的类数组的数据结构也可以使用上面的操作,我们一般使用中括号来取值,但是也可以用来赋值

列表

List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套),列表用 [ ] 标识,是 python 最通用的复合数据类型

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']print list               # 输出完整列表
print list[0]            # 输出列表的第一个元素
print list[1:3]          # 输出第二个至第三个元素 
print list[2:]           # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2       # 输出列表两次
print list + tinylist    # 打印组合的列表

元组

元组不允许更新,用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表

我们可以这么理解,小括号围起来的就是元组

字典

字典是除列表以外 python 之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取

字典用 “{ }” 标识。字典由索引 (key) 和它对应的值 value 组成

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print dict['ae&2*', 'abc'] # 输出键为 ae&2* 的值,如果字典中没有该值,返回 abc
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

相关内容

热门资讯

文艺新风扑面来,大众舞台展风采 转自:北京日报客户端党的二十届四中全会审议通过的“十五五”规划建议明确提出,“繁荣互联网条件下新大众...
振江股份股价涨5.12%,新华... 12月29日,振江股份涨5.12%,截至发稿,报25.86元/股,成交1.68亿元,换手率3.65%...
国投白银LOF复牌30分钟成交... 格隆汇12月29日|国投白银LOF(161226)复牌一度跌停,随后快速反弹转涨,最高涨超9%,现涨...
2025年贺岁元旦档电影片单在... 中新网北京12月29日电 (记者 高凯)12月28日,由国家电影局主办,电影频道节目中心、中央广播电...
金价屡创新高!2026如何把握... .ct_hqimg {margin: 10px 0;} .hqimg_wrapper {text-a...