文章目录
-
- Python名称由来
- Python历史版本
- 变量命名规则
- Python安装
- 如何操作程序操作系统
- Python 开发常用工具
- 代码规范
- Python导入标准库模块
- 使用Python 包(package)组织代码
Python名称由来
Python的创始人为 Guido van Rossum,他在阿姆斯特丹的荷兰数学与计算机科学研究学会工作。圣诞节期间,1989年,Guido van Rossum决心开发一个新的脚本解释编程的脚本解释编程ABC语言的继承取代了使用Unix shell和C语言进行系统管理,担负同Amoeba操作系统(英语:Amoeba (operating system))交互和异常处理。之所以选中Python作为编程的名字,因为他是BBC电视剧《蒙提》·派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者。
Python历史版本
Python 历史上有几个重要的版本节点:
- January 1994,Python1.0 发布
- 2000年10月16日,Python2.0 发布
- 2010年7月3日,Python2.7 发布,这是Python2.x最后一个版本,Python2.x 和 Python3.x不兼容
- 2008年12月3日,Python3.0 发布,Python3引入多个和Python2.x不兼容的特点,Python 从2.x到3.x迁移时间长,编程语言版本不兼容有时是致命的错误(比如Perl6),好在Python挺过来了。
- 2021年10月5号,Python3.10 到2021年,这是最新版本
- 最新的开发版本是 Python3.11
变量命名规则
- 变量名只能包括字母、数字和下划线。变量名可以从字母或下划线开始,但不能从数字开始。例如,可以将变量命名为message_但不能将其命名为1_message。
- 变量名不能包含空格,但下划线可以用来分隔单词。例如,变量名greeting_message可行,但变量名greeting message会导致错误。
- 不要将Python关键字和函数名用作变量名,即不使用Python保留用于特殊用途的单词,如print。
- 变量名应简短描述。name比n好,student_name比s_n好,name_length比length_of_persons_name好。
- 小心使用小写字母l和大写字母O,可能被误认为是数字1和0;
注:应使用小写Python变量名。在变量名中使用大写字母不会导致错误,但避免使用大写字母是一个很好的注意。
Python安装
不同平台对Python默认环境支持不同:
- Windows 未默认安装平台 Python
- Linux/Mac 大多数平台默认安装 Python2.7
安装Python3.x 版本: Windows
:下载 Windows 安装包安装:https://www.python.org/downloads/windows/ CentOS
: 使用yum包管理器,执行命令:yum install -y python3
Ubuntu
: 使用apt-get包管理器,执行命令:apt-get install -y python3
MacOS
: 安装brew包管理器,执行命令: brew install python3
如何操作程序操作系统
人和操作系统如何交互?最早Ken Thompson设计Unix使用命令解释器,命令解释器接受用户的命令,然后解释并执行。 Shell人与机器交互的界面分为GUI和命令行(CLI)这里有两种方命令行的两种方式。概念Shell路易斯·普赞(Louis Pouzin)1964年至1965年首次提出,随后在Multics(MULTiplexed Information and Computing System)项目首次实现。肯·汤普逊(Ken Thompson)以Multics上的shell第一个实现模型Unix壳层(Unix shell):Thompson shell。AT&T史蒂夫,贝尔实验室·1977年伯恩实现了Bourne shell,或sh,它是Version 7 Unix默认的Unix shell,同样的替代执行文件sh的Thompson shell。微软的Windows操作系统还提供了命令行壳层的功能,它们是Windows 95 / 98下的command.com、Windows NT内核下的cmd.exe以及PowerShell。 下面的Python 列表包含了Unix系统常见的shell: shells = [ ‘Bourne shell(sh)’, ‘Almquist shell(ash)’, ‘Debian Almquist shell(dash)’, ‘Bourne-Again shell(bash)’, ‘Korn shell(ksh)’, ‘Z shell(zsh)’, ‘C shell(csh)’, ‘TENEX C shell(tcsh)’, ‘EMACS shell (eshell)’, ‘Es shell(es)’, ‘esh (Unix) – Easy Shell’, ‘friendly interactive shell(fish)’, ‘rc shell(rc)– shell for Plan 9 from Bell Labs and Unix’, ‘scsh(Scheme Shell)’, ‘Stand-alone Shell(sash)’, ‘BeanShell(bsh,bsh.Interpreter , bsh.Console)’, ‘Rhino JavaScript壳层(org.mozilla.javascript.tools.shell.Main)’ ] 通过shell,我们可以让操作系统执行Python程序。而Python它是一种解释性语言。源代码不是直接翻译成机器语言,而是先翻译成中间代码,然后由解释器解释中间代码。有两种基本的操作方法 Python
- repl: 交互式编程( Interactive )
- source: Python 源代源文件( File )
Python 开发常用工具
IDEL(https://docs.python.org/3/library/idle.html),,) Python 内置的IDE,功能一般。 VIM(http://www.vim.org(),VIM爱好者,可以用VIM编写Python,但是Python缩进处理会比较麻烦。当然,你在 Linux 有时只能在服务器上使用VI/VIM了。 Visual Studio Code(https://code.visualstudio.com/)),VSCode 对Python支持非常友好配合几个插件几乎是对的 Python 开发最友好的IDE了。 PyCharm(https://www.jetbrains.com/pycharm/)),jetbrains 出品的 PyCharm 也是 Python 开发者常用IDE。
代码规范
CodeChina有一个中文镜像仓库:zh-google-styleguide,可以看到 Google Python 代码风格指南很简短:python_style_rules 此外,Python 官方代码风格文档为:PEP8。你会问PEP是什么?PEP是Python Enhancement Proposals缩写PEP是一份为Python为社区提供各种增强功能的技术规范,也是为了让社区指出问题,能够指出问题,准确地提出技术文件。
Python导入标准库模块
Python 语言通过模块(module)组织代码。Python 由C语言编写的内置模块和由标准库非常大 Python 编写的解决常见开发需求的模块。下面的Python常用标准库列出了数组。
python_modules = [ "os --- 各种操作系统接口", "os.path --- 常用路径操作",
"re --- 正则表达式操作",
"datetime --- 基本日期和时间类型",
"heapq --- 堆队列算法",
"enum --- 对枚举的支持",
"math --- 数学函数",
"random --- 生成伪随机数",
"itertools --- 为高效循环而创建迭代器的函数",
"functools --- 高阶函数和可调用对象上的操作",
"shutil --- 高阶文件操作",
"sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块",
"csv --- CSV 文件读写",
"hashlib --- 安全哈希与消息摘要",
"hmac --- 基于密钥的消息验证",
"time --- 时间的访问和转换",
"argparse --- 命令行选项、参数和子命令解析器",
"logging --- Python 的日志记录工具",
"threading --- 基于线程的并行",
"multiprocessing --- 基于进程的并行",
"socket --- 底层网络接口",
"email --- 电子邮件与 MIME 处理包",
"json --- JSON 编码和解码器",
"urllib --- URL 处理模块",
"http --- HTTP 模块"
]
使用 import 相关的语句可以引入 Python 标准库模块。特别地,import 可以被动态的从任何地方调用。
使用Python 包(package)组织代码
稍微正式一点的项目,都会通过将代码组织成有层次结构的组织,以便于管理和持续维护。Python 通过包(package)的方式来组织代码,包是一种特殊的模块(module)。 Python 的包有两种形式,分别是Regular packages 和 namespace packages。 所谓 Regular packages 就是指含有__init__.py的目录,这样的包被其他模块导入的时候,会先执行目录下__init__.py里的代码。Regular packages 可以嵌套,也就是目录下的子目录也可以是一个包。例如:
python_package_dir_example = '''
parent/
__init__.py
one/
__init__.py
one/
__init__.py
two/
__init__.py
three/
__init__.py
'''
而 namespace packages 也是有层次结构的模块组织,不过它未必是存在文件夹里的,可以存在Zip压缩包里,也可以存在网络上,而且子包和父包也未必要存储在同一个地方。这里忽略不展开。 如果一个模块被import过,Python 会将导入的模块缓存在sys.modules字典里缓存起来,再次导入的时候不会重新执行导入动作,直接从缓存里取。反之,如果我们从sys.modules里把导入的模块删除,则再次import会再次触发模块导入动作。 良好的包/模块组织在程序开发中有重要的作用。随着项目代码的逐渐增加,一开始的单文件程序会逐渐膨胀,所幸 Python 提供当包模式可以良好应对通常的代码分层组织。 但是,当目录层次增加后,在下层目录里的代码引用其他目录的模块时,总是要输入全部路径有时并不方便,此时可以考虑使用 Python 的包相对路径来导入模块。
本文内容到此结束了, 如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。 如有错误❌疑问💬欢迎各位大佬指出。 :共饮一杯无的博客汇总👨💻
。🏃🏃🏃