Python系列文章目录
第一章 Python 入门
Python 入门
- Python系列文章目录
- 前言
- 一、Python是什么
- 二、运行环境搭建
- 1. Python 语言环境
- 2. Python 开发环境
- IDLE
- PyCharm
- VSCode
- 3. 虚拟环境
- 虚拟环境管理工具
- 安装
- 相关操作指令
- 配置虚拟环境
- PyCharm 配置虚拟环境
- VSCode 配置虚拟环境
- 虚拟环境管理工具
- 三. Python 初识
- 1. Python基本格式
- 2. 注释格式
- 3. 异常处理
- 4. Python图形化程序-海龟绘图
前言
最近打算新开一个坑, 但一直不知道做什么合适, 直到最近在看 《UNIX/Linux系统管理技术手册》 这一书的 脚本编程与shell 这一章节中得到启发, 书中说到
- 关于Python
Python 和 Ruby 都是面向对象的解释型语言, 两者被广泛用于通用脚本编程语言, 拥有数量众多的库和第三方模块. Python的语法直观, 非常容易理解, 哪怕你阅读的是别人写的代码
并且作者建议: 所有的系统管理员都应该掌握 Python , 因为它是 现代系统管理和通用脚本编程的首选语言. 并且Python 还作为胶水语言大量用于其他系统(例如Postgre SQL 数据库以及Apple Xcode 开发环境 ), 它还与REST API 之间有着清晰的接口, 在机器学习, 数据分析和数值计算方面也有不少优秀的库
- 关于Ruby
Ruby 是由日本开发人员 YukiHiro Matsumotu 设计并维护, 拥有很多与 Python相同的特性, 其中就包括"万物皆对象"的做法. 书中直言
尽管在很多方面, Ruby粗略的等同 Python, 但前者的设计理念要更为宽松. 例如: 其他软件可以随意修改Ruby的类, 一些修改了标准库的扩展也基本上不会在 Ruby 社区引发什么不满 Ruby 对于喜欢尝试语法糖的用户很有吸引力, 语法糖是一种特性, 他并不会改变基本的语言, 但允许以更为精确, 清晰的形式编写代码.
例如在Rails环境中
due_date=7.days.from_now
, 该代码不引用任何与时间相关的类, 也不需要进行任何显式的日期与时间计算, 就可以创建一个TIme 对象. 将days定义为 Fixnum(描述整数的Ruby类)的拓展, 该方法会返回一个用起来想数字一样的 Duration 对象, 作为使用值的话它等于604800, 这是7天的总秒数. 如果在调试器中查看, 它会将自身描述为 “7days”开发人员可以使用Ruby轻松创建特定领域的语言(domain specific language,DSL). 这种迷你语言实际上还是Ruby, 到那时可以读取特定的配置系统. 例如 Chef 和 Puppet 就可以用 Ruby DSL 来配置.
选择学习 Python的原因
- 同样作为面向对象的解释语言, Python 的流行度更高, 社区更活跃
- 相比来说 Ruby 更适合科研领域学习, 而 Python 更适合企业应用
- 学习 Python 并不是为了成为 Linux/Unix 系统管理员, 而是为了今后能够能加得心应手的编写shell 脚本. 并且利用其拓展自己的技术栈
- Python 相较其他语言, 更适合用作脚本语言
所以, 话不多说, 我们就来逐渐揭开Python的真正面纱吧
一、Python是什么
Python is a programming language that lets you work quickly and integrate systems more effectively 即: Python 是一个让你工作更快速并且更高效集成系统的编程语言 官网 传送门
特点:
- 可读性强
- 语法简洁
- 开源易移植
- 标准脚本语言
应用场景:
- 人工智能AI
- web应用开发
- 操作系统管理、服务器运维的自动化脚本 大多数Linux发行版以及NetBSD、OpenBSD和MacOSX都集成了Python,可以在终端下直接运行Python。 Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
- 科学计算和数据分析
- 桌面软件
- 服务器软件, 网络爬虫
- 游戏开发
Python版本和兼容问题解决方案
- Python有两大版本,分别是Python2.x和Python3.x
- Python2.x版本在2020年已经停止支持,因此Python3.x是目前主流
- Python3的很多新特性也被移植到了Python2.7,作为过渡。 如果程序可以在2.7运行,可以通过一个名为2to3(Python自带的一个脚本)的转换工具无缝迁移到Python3。
二、运行环境搭建
1. Python 语言环境
相关软件已在底部通过百度云的形式分享
- 以管理员身份运行 将其添加到 Windows的环境变量中, 以便我们可以通过 shell 窗口直接执行 python 相关命令
- 直接点击Next
- 一定要注意这里是否被勾选, 这里用于自动将python 语言环境的安装地址放入到环境变量中. 安装完毕后点击 close
- 唤出shell 界面, 测试是否安装成功
Win R , 然后输入 cmd, 然后在shell 中输入
python
- hello world
- 退出当前 Python shell
2. Python 开发环境
开发环境,英文是IDE(Integrated Development Environment 集成开发环境)。
Python 常用开发环境
- IDLE
- Pycharm (推荐)
- vscode (推荐)
- jupyter
IDLE
什么是 IDLE(What)
- IDLE是Python的官方标准开发环境,Python安装完后同时就安装了IDLE。
- IDLE已经具备了Python开发几乎所有功能(语法智能提示、不同颜色显示不同类型等等),也不需要其他配置,非常适合初学者使用。
- IDLE是Python标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、调试器等基本组件,足以应付大多数简单应用。
- IDLE是用纯Python基于Tkinter编写,最初作者正是Python之父
IDLE 如何使用(How)
- 点击开始
- 新建文件
FIle-> new FIle, 然后空白处输入
print("hellow world")
再保存为mypy01.py
,
- 运行 hello world
最后点击
Run-> Run Module
或者 F5 即可运行
注意:
- 不要使用中文输入 引入使用中文拼音输入之后, 点击回车会自动弹出Python的使用文档和一个用于搜索当前 IDLE 的 Search Dialog
Search Dialog的作用相当于 IDEA 的 Ctrl F, 当前页面的搜索
PyCharm
PyCharm出自JetBrains之手. 是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 类似IDEA, 作为 企业级软件, 用于快速开发 Python 程序, 之前使用过IDEA的非常推荐使用 下载地址:传送门 , 也可以使用博客底部百度云分享的 .exe 程序直接安装 因为个人习惯原因, 后续使用 PyCharm 来演示相关Python代码操作
Pycharm的优点
- 方便的环境管理
- 自动导入包
- 方便的代码调试
- Git管理
Pycharm的缺点
- 刚开始打开,索引包较慢
- 内存占用太高(3G左右)
安装使用步骤
- 安装 直接运行 PyCharm.exe, 然后一直 next , 然后点击 install , 最后点击 Finish
- 新建项目
新建项目配置
- 开发和运行项目 打开项目后,右键单击项目,new -> FIle , 创建Python文件 mypy01
点击 Run-> Run xxx 或者直接 Shift F10 运行即可
- 交互模式和控制台
控制台(Terminal )相当于直接进入了 Windows的shell 界面
交互模式相当于进入类似IDLE的交互模式:
- 项目创建后引用的包版本配置
VSCode
vscode(Visual Studio Code)出自微软之手,以界面简洁,轻量著称 下载地址: 传送门
VSCode的优点
- 启动超快,相比于Pycharm
- 内存占用小(没有漫长等待索引过程)
- 界面好看,有着丰富的主题配色
VSCode的缺点
- 插件需要安装太多
- 默认不支持python的自动导包功能
VSCode环境配置 虽然VSCode支持开发多种语言,但默认并没有配置开发Python插件,因此需要安装Python插件
具体环境配置步骤
- 安装 Python 插件 如图所示安装即可, 安装之后需要重启软件
- 选择Python 解释器
- 点击运行->启动调试. 或者直接输入F5运行程序
3. 虚拟环境
鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利 它把你所有的虚拟环境都放在一个地方
虚拟环境管理工具
安装
Linux、Unix、MacOS:
代码语言:javascript复制sudo apt install python-pip
pip install virtualenvwrapper
Windows:
代码语言:javascript复制pip install virtualenvwrapper-win
注意:
Windows下, 想要在命令行运行pip 命令需要配置环境变量. 只需在 path 下添加安装后的 pythonScripts 目录即可, 例如 C:Program FilespythonScripts
相关操作指令
创建虚拟环境
代码语言:javascript复制mkvirtualenv env_name
激活虚拟环境
代码语言:javascript复制workon env_name
退出虚拟环境
代码语言:javascript复制deactivate
删除虚拟环境
代码语言:javascript复制rmvirtualenv env_name
操作演示
配置虚拟环境
PyCharm 配置虚拟环境
使用已经存在的虚拟环境
创建新的虚拟环境
VSCode 配置虚拟环境
配置方式如下
- 打开VSCode设置
- 筛选
python venv path
, 输入虚拟环境的地址
- 重启 VSCode
三. Python 初识
1. Python基本格式
缩进风格
- 恰当的空格,缩进问题 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 语句从新行的第一列开始。
- 缩进风格统一: 每个缩进层次使用 单个制表符 或四个空格(IDE会自动将制表符设置成4个空格) Python用缩进而不是{}表示程序块的层次关系
- Python区分大小写
2. 注释格式
代码语言:javascript复制# 测试单行注释
print("这里是单行注释 ")
'''
我是多行注释
三个单引号实现多行注释
作者:
时间:
'''
print('三个单行引号实现多行注释')
"""
三个双引号实现多行注释
作者:
时间:
"""
print('三个双引号实现多行注释')```
3. 异常处理
代码语言:javascript复制# 错误1, 首行是空格
print("首行不能有空格")
# 错误2, 使用了中文引号
print(“不能使用中文引号”)
4. Python图形化程序-海龟绘图
这里接触到一个好玩的库, 海龟绘图 只需导入海龟绘图的库, 即可画图. 并且比 java 导入更加简单, 因为Python导入只需要声明库名. 而不需要声明库的具体路径. 奈斯~
下面首先看一个使用demo
代码语言:javascript复制import turtle
turtle.showturtle() # 显示箭头
turtle.write("时间静止不是简史") # 写字符串
turtle.forward(300) # 前进300像素
turtle.color("red") # 画笔颜色改为red
turtle.left(90) # 箭头左转90度
turtle.forward(300)
turtle.goto(0, 50) # 去坐标(0,50)
turtle.goto(0, 0)
turtle.penup() # 抬笔。这样,路径就不会
turtle.goto(0, 300)
turtle.pendown() # 下笔。这样,路径就不会会画出来
turtle.circle(100) # 画圆
turtle.done() # 程序结束,保持窗口存在
运行后, 结果如下
照猫画虎: 根据上面库的调用方式, 绘制一个奥运五环图
思路:
- 注意画笔大小尺寸以及每个环的颜色设置
- 因为海龟绘图是从圆的最底部开始绘制, 因此要根据这个确定每个圆绘制的起始坐标和圆的半径
- 上三圆绘制大体上是类似的, 下两圆绘制方式也是类似的
代码
代码语言:javascript复制import turtle
turtle.showturtle()
turtle.pensize(5) # 定义字体大小
turtle.color("blue") # 定义画笔颜色
turtle.circle(50) # 画圆, 半径为50px
turtle.penup() # 抬笔
turtle.forward(120) # 前进100px
turtle.pendown() # 下笔
turtle.color("black")
turtle.circle(50) # 画第二圆
turtle.penup()
turtle.forward(120)
turtle.pendown()
turtle.color("red")
turtle.circle(50) # 画第三圆
turtle.color("yellow")
turtle.penup()
turtle.goto(60, -50) # 第四圆圆心位置
turtle.pendown()
turtle.circle(50) # 画第四圆
turtle.penup()
turtle.goto(180, -50) # 第五圆圆心位置
turtle.pendown()
turtle.color("green")
turtle.circle(50) # 画第五圆
turtle.done() # 窗口挂起
绘制结果 : https://img-blog.csdnimg.cn/04fbc6feaedc4e92b0b296b4dbb24627.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pe26Ze06Z2Z5q2i5LiN5piv566A5Y-y,size_20,color_FFFFFF,t_70,g_se,x_16
Python 开发环境相关软件 链接:https://pan.baidu.com/s/1U-5n3vrf4M3D8NTaTlTpmQ?pwd=w6bo 提取码:w6bo