Python升级之路( Lv1 ) Python 入门

2022-12-02 16:22:32 浏览数 (1)

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 语言环境

相关软件已在底部通过百度云的形式分享

  1. 以管理员身份运行 将其添加到 Windows的环境变量中, 以便我们可以通过 shell 窗口直接执行 python 相关命令
  1. 直接点击Next
  1. 一定要注意这里是否被勾选, 这里用于自动将python 语言环境的安装地址放入到环境变量中. 安装完毕后点击 close
  1. 唤出shell 界面, 测试是否安装成功 Win R , 然后输入 cmd, 然后在shell 中输入 python
  1. hello world
  1. 退出当前 Python shell

2. Python 开发环境

开发环境,英文是IDE(Integrated Development Environment 集成开发环境)。

Python 常用开发环境

  1. IDLE
  2. Pycharm (推荐)
  3. vscode (推荐)
  4. jupyter

IDLE

什么是 IDLE(What)

  • IDLE是Python的官方标准开发环境,Python安装完后同时就安装了IDLE。
  • IDLE已经具备了Python开发几乎所有功能(语法智能提示、不同颜色显示不同类型等等),也不需要其他配置,非常适合初学者使用。
  • IDLE是Python标准发行版内置的一个简单小巧的IDE,包括了交互式命令行、编辑器、调试器等基本组件,足以应付大多数简单应用。
  • IDLE是用纯Python基于Tkinter编写,最初作者正是Python之父

IDLE 如何使用(How)

  1. 点击开始
  1. 新建文件 FIle-> new FIle, 然后空白处输入 print("hellow world") 再保存为 mypy01.py ,
  1. 运行 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左右)

安装使用步骤

  1. 安装 直接运行 PyCharm.exe, 然后一直 next , 然后点击 install , 最后点击 Finish
  2. 新建项目

新建项目配置

  1. 开发和运行项目 打开项目后,右键单击项目,new -> FIle , 创建Python文件 mypy01

点击 Run-> Run xxx 或者直接 Shift F10 运行即可

  1. 交互模式和控制台

控制台(Terminal )相当于直接进入了 Windows的shell 界面

交互模式相当于进入类似IDLE的交互模式:

  1. 项目创建后引用的包版本配置

VSCode

vscode(Visual Studio Code)出自微软之手,以界面简洁,轻量著称 下载地址: 传送门

VSCode的优点

  • 启动超快,相比于Pycharm
  • 内存占用小(没有漫长等待索引过程)
  • 界面好看,有着丰富的主题配色

VSCode的缺点

  • 插件需要安装太多
  • 默认不支持python的自动导包功能

VSCode环境配置 虽然VSCode支持开发多种语言,但默认并没有配置开发Python插件,因此需要安装Python插件

具体环境配置步骤

  1. 安装 Python 插件 如图所示安装即可, 安装之后需要重启软件
  1. 选择Python 解释器
  1. 点击运行->启动调试. 或者直接输入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 配置虚拟环境

配置方式如下

  1. 打开VSCode设置
  1. 筛选 python venv path, 输入虚拟环境的地址
  1. 重启 VSCode

三. Python 初识

1. Python基本格式

缩进风格

  1. 恰当的空格,缩进问题 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。 语句从新行的第一列开始。
  2. 缩进风格统一: 每个缩进层次使用 单个制表符 或四个空格(IDE会自动将制表符设置成4个空格) Python用缩进而不是{}表示程序块的层次关系
  3. 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

0 人点赞