当前位置: 首页 > news >正文

[人间也值得] - Mryang带你快速入门第一个 Python 程序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/85091018

第一个 Python 程序

目标

  • 第一个 HelloPython 程序
  • Python 2.x3​​.x 版本简介
  • 执行 Python 程序的三种方式
    • 解释器 —— python / python3
    • 交互式 —— ipython
    • 集成开发环境 —— PyCharm

01. 第一个 HelloPython 程序

1.1 Python 源程序的基本概念

  1. Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件Python 的开发
  2. Python 程序的 文件扩展名 通常都是 .py

1.2 演练步骤

  • 在桌面下,新建 认识Python 目录
  • 认识Python 目录下新建 01-HelloPython.py 文件
  • 使用 gedit 编辑 01-HelloPython.py 并且输入以下内容:
print("hello python")
print("hello world")
  • 在终端中输入以下命令执行 01-HelloPython.py
$ python 01-HelloPython.py

printpython 中我们学习的第一个 函数

print 函数的作用,可以把 “” 内部的内容,输出到屏幕上

1.3 演练扩展 —— 认识错误(BUG)

关于错误

  • 编写的程序不能正常执行,或者执行的结果不是我们期望的
  • 俗称 BUG,是程序员在开发时非常常见的,初学者常见错误的原因包括:
    1. 手误
    2. 对已经学习过的知识理解还存在不足
    3. 对语言还有需要学习和提升的内容
  • 在学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法

每一个程序员都是在不断地修改错误中成长的

第一个演练中的常见错误

  • 1> 手误,例如使用 pirnt("Hello world")
NameError: name 'pirnt' is not defined

名称错误:'pirnt' 名字没有定义
  • 2> 将多条 print 写在一行
SyntaxError: invalid syntax

语法错误:语法无效

每行代码负责完成一个动作

  • 3> 缩进错误
IndentationError: unexpected indent

缩进错误:不期望出现的缩进
  • Python 是一个格式非常严格的程序设计语言
  • 目前而言,大家记住每行代码前面都不要增加空格
  • 4> python 2.x 默认不支持中文

目前市场上有两个 Python 的版本并存着,分别是 Python 2.xPython 3.x

  • Python 2.x 默认不支持中文,具体原因,等到介绍 字符编码 时给大家讲解
  • Python 2.x 的解释器名称是 python
  • Python 3.x 的解释器名称是 python3
SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3, 
but no encoding declared; 
see http://python.org/dev/peps/pep-0263/ for details

语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码
请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
  • ASCII 字符只包含 256 个字符,不支持中文
  • 有关字符编码的问题,后续会讲

单词列表

* error 错误
* name 名字
* defined 已经定义
* syntax 语法
* invalid 无效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 编码
* declared 声明
* details 细节,详细信息
* ASCII 一种字符编码

02. Python 2.x3​​.x 版本简介

目前市场上有两个 Python 的版本并存着,分别是 Python 2.xPython 3.x

新的 Python 程序建议使用 Python 3.0 版本的语法

  • Python 2.x 是 过去的版本
    • 解释器名称是 python
  • Python 3.x 是 现在和未来 主流的版本
    • 解释器名称是 python3
    • 相对于 Python 的早期版本,这是一个 较大的升级
    • 为了不带入过多的累赘,Python 3.0 在设计的时候 没有考虑向下兼容
      • 许多早期 Python 版本设计的程序都无法在 Python 3.0 上正常执行
    • Python 3.0 发布于 2008 年
    • 到目前为止,Python 3.0 的稳定版本已经有很多年了
      • Python 3.3 发布于 2012
      • Python 3.4 发布于 2014
      • Python 3.5 发布于 2015
      • Python 3.6 发布于 2016
      • Python 3.7 发布于 2018
  • 为了照顾现有的程序,官方提供了一个过渡版本 —— Python 2.6
    • 基本使用了 Python 2.x 的语法和库
    • 同时考虑了向 Python 3.0 的迁移,允许使用部分 Python 3.0 的语法与函数
    • 2010 年中推出的 Python 2.7 被确定为 最后一个Python 2.x 版本

提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议

  • 先使用 Python 3.0 版本进行开发
  • 然后使用 Python 2.6Python 2.7 来执行,并且做一些兼容性的处理

03. 执行 Python 程序的三种方式

3.1. 解释器 python / python3

Python 的解释器

# 使用 python 2.x 解释器
$ python xxx.py

# 使用 python 3.x 解释器
$ python3 xxx.py
其他解释器(知道)

Python 的解释器 如今有多个语言的实现,包括:

  • CPython —— 官方版本的 C 语言实现
  • Jython —— 可以运行在 Java 平台
  • IronPython —— 可以运行在 .NET 和 Mono 平台
  • PyPy —— Python 实现的,支持 JIT 即时编译

3.2. 交互式运行 Python 程序

  • 直接在终端中运行解释器,而不输入要执行的文件名
  • 在 Python 的 Shell 中直接输入 Python 的代码,会立即看到程序执行结果

1) 交互式运行 Python 的优缺点

优点
  • 适合于学习/验证 Python 语法或者局部代码
缺点
  • 代码不能保存
  • 不适合运行太大的程序

2) 退出 官方的解释器

1> 直接输入 exit()
>>> exit()
2> 使用热键退出

在 python 解释器中,按热键 ctrl + d 可以退出解释器

积跬步以至千里

3) IPython

  • IPython 中 的 “I” 代表 交互 interactive
特点
  • IPython 是一个 python 的 交互式 shell,比默认的 python shell 好用得多
    • 支持自动补全
    • 自动缩进
    • 支持 bash shell 命令
    • 内置了许多很有用的功能和函数
  • IPython 是基于 BSD 开源的
版本
  • Python 2.x 使用的解释器是 ipython

  • Python 3.x 使用的解释器是 ipython3

  • 要退出解释器可以有以下两种方式:

1> 直接输入 exit
In [1]: exit
2> 使用热键退出

在 IPython 解释器中,按热键 ctrl + dIPython 会询问是否退出解释器

IPython 的安装

$ sudo apt install ipython

3.3. Python 的 IDE —— PyCharm

1) 集成开发环境(IDE)

集成开发环境(IDE,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:

  • 图形用户界面
  • 代码编辑器(支持 代码补全自动缩进
  • 编译器/解释器
  • 调试器(断点单步执行
  • ……

2)PyCharm 介绍

  • PyCharm 是 Python 的一款非常优秀的集成开发环境
  • PyCharm 除了具有一般 IDE 所必备功能外,还可以在 WindowsLinuxmacOS 下使用
  • PyCharm 适合开发大型项目
    • 一个项目通常会包含 很多源文件
    • 每个 源文件 的代码行数是有限的,通常在几百行之内
    • 每个 源文件 各司其职,共同完成复杂的业务功能

3)PyCharm 快速体验

PyCharm的界面结构

  • 文件导航区域 能够 浏览定位打开 项目文件

  • 文件编辑区域 能够 编辑 当前打开的文件

  • 控制台区域 能够:

    • 输出程序执行内容
    • 跟踪调试代码的执行
  • 右上角的 工具栏 能够 执行(SHIFT + F10) / 调试(SHIFT + F9) 代码

    PyCharm运行工具栏

相关文章:

  • Python自定义异常及抛出异常
  • ES6 - 数组扩展
  • 戴尔服务器使用omreport(OMSA)查看监控硬件信息
  • 处理SQL Server中的重复行
  • 互联网视频直播技术(广电总局、优酷土豆、XX直播)
  • Zookeeper Clustered (Multi-Server) Deployment
  • 孤儿进程 僵尸进程 守护进程及wait函数详解
  • 利用Java反射机制实现对象相同字段的复制
  • Markdown基本语法
  • 浅探前端图片优化
  • kubernetes 监控方案之:heapster+influxdb+grafana(十八)
  • Servlet-生命周期
  • CSS 文字太多用省略号表示
  • 互联网轻量级框架SSM-查缺补漏第四天
  • 无需Java代码通过JHipster生成有安全验证的微服务应用
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Apache的80端口被占用以及访问时报错403
  • Gradle 5.0 正式版发布
  • Laravel Telescope:优雅的应用调试工具
  • Octave 入门
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Selenium实战教程系列(二)---元素定位
  • unity如何实现一个固定宽度的orthagraphic相机
  • 来,膜拜下android roadmap,强大的执行力
  • 前端性能优化——回流与重绘
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # Apache SeaTunnel 究竟是什么?
  • (03)光刻——半导体电路的绘制
  • (12)Hive调优——count distinct去重优化
  • (13):Silverlight 2 数据与通信之WebRequest
  • (2)nginx 安装、启停
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (70min)字节暑假实习二面(已挂)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (分布式缓存)Redis分片集群
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三分钟)速览传统边缘检测算子
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)编辑寄语:因为爱心,所以美丽
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Reactor简单使用教程
  • .NET面试题(二)
  • .Net中的集合