黑马 Python学习笔记之第一个 Python 程序
第一个 Python 程序
目标
第一个
HelloPython
程序Python 2.x
与3.x
版本简介执行
Python
程序的三种方式解释器 ——
python
/python3
交互式 ——
ipython
集成开发环境 ——
PyCharm
01. 第一个 HelloPython
程序
1.1 Python 源程序的基本概念
Python 源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做
Python
的开发Python 程序的 文件扩展名 通常都是
.py
1.2 演练步骤
在桌面下,新建
认识Python
目录在
认识Python
目录下新建01-HelloPython.py
文件编辑
01-HelloPython.py
并且输入以下内容:
print("hello python")
print("hello world")print("hello world")
print("hello python: Ideas shape the course of history.")
print("想法影响着历史进程。")
在终端中输入以下命令执行
01-HelloPython.py
$ python 01-HelloPython.py
python
中我们学习的第一个 函数
1.3 演练扩展 —— 认识错误(BUG)
关于错误
编写的程序不能正常执行,或者执行的结果不是我们期望的
俗称
BUG
,是程序员在开发时非常常见的,初学者常见错误的原因包括:手误
对已经学习过的知识理解还存在不足
对语言还有需要学习和提升的内容
在学习语言时,不仅要学会语言的语法,而且还要学会如何认识错误和解决错误的方法
每一个程序员都是在不断地修改错误中成长的
好奇心和探索可以使我们学更多的东西。
第一个演练中的常见错误
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.x
和 Python 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.x
与 3.x
版本简介
目前市场上有两个 Python 的版本并存着,分别是 Python 2.x
和 Python 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 2.6(部分使用python3.0)
基本使用了
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.6
、Python 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
可以退出解释器
print(1.001**365)
print(0.999**365)print(1.01**365)
print(0.99**365)
有什么启发吗???????????????????、
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 + d
,IPython
会询问是否退出解释器
IPython 的安装
$ sudo apt install ipython
3.3. Python 的 IDE —— PyCharm
1) 集成开发环境(IDE)
集成开发环境(IDE
,Integrated Development Environment)—— 集成了开发软件需要的所有工具,一般包括以下工具:
图形用户界面
代码编辑器(支持 代码补全/自动缩进)
编译器/解释器
调试器(断点/单步执行)
……
2)PyCharm 介绍
PyCharm
是 Python 的一款非常优秀的集成开发环境PyCharm
除了具有一般 IDE 所必备功能外,还可以在Windows
、Linux
、macOS
下使用PyCharm
适合开发大型项目一个项目通常会包含 很多源文件
每个 源文件 的代码行数是有限的,通常在几百行之内
每个 源文件 各司其职,共同完成复杂的业务功能
3)PyCharm 快速体验
文件导航区域 能够 浏览/定位/打开 项目文件
文件编辑区域 能够 编辑 当前打开的文件
控制台区域 能够:
输出程序执行内容
跟踪调试代码的执行
右上角的 工具栏 能够 执行(SHIFT + F10) / 调试(SHIFT + F9) 代码
通过控制台上方的单步执行按钮(F8),可以单步执行代码
黑马 Python学习笔记之第一个 Python 程序相关推荐
- 廖雪峰官方网站python学习笔记:第一个Pyhon程序
输入和输出 print() print()函数可以接受多个字符串,用逗号","隔开,就可以练成一串输出: >>>print('The quick brown fo ...
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- Python学习笔记(二)——Python基本图形绘制
Python学习笔记(二)--Python基本图形绘制 文章目录 Python学习笔记(二)--Python基本图形绘制 不同编程语言的初心和适用对象 Python蟒蛇绘制 五星红旗绘制 这次笔记主要 ...
- C#.NET学习笔记2---C#.第一个C#程序
C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:__________以前的网站现在不弄了,抱歉 6.第一个 ...
- MyBatis学习笔记2 ——第一个MyBatis程序
MyBatis学习笔记2 --第一个MyBatis程序 参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx 环境搭建 建立一个mybatis数据库用 ...
- Spark学习笔记1——第一个Spark程序:单词数统计
Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)
初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...
- Python学习笔记(五) Python高级特性
Python高级特性 一. 切片 python中提供了切片(Slice)操作符 , 可以方便的获取list或tuple中的某一段元素 . # -*- coding : utf-8 -*- #Pytho ...
- 【Python学习笔记】超详细Python快速入门教程(下)
文章目录 031 变量的作用域 032 递归函数 033 异常处理机制 034 class自定义类 035 object内置类 036 多态 037 特殊方法和属性 038 类的深拷贝和浅拷贝 039 ...
最新文章
- 翻译的艺术 —— 无能为力的翻译,搞笑的音译
- Distributed Systems笔记-Cryptographic Protocols
- 征战蓝桥 —— 2017年第八届 —— C/C++A组第9题——分巧克力
- 那些年,我和发哥在恒大的日子
- Magento教程 12:Magento快速上传大量商品的方法
- python 模块路径搜索_Python模块搜索路径问题
- Android 创建一个新的Activity
- python能做什么工作-python语言能做什么工作
- excel 使用连接符合并单元格内容或者给单元格内容添加信息
- indesign怎么查找拼音_indesign拼音插件下载-Indesign拼音排版 免费版 - 河东下载站...
- html导航栏可以展开的下拉菜单,html导航栏下拉菜单如何制作
- SpringSecurity实战(二)-基于数据库认证授权
- 计算机量子化学计算实验报告物化实验,化学反应焓变的量子化学理论计算实验报告.doc...
- MTK Camera自定义Vendor Tag
- 四大全球卫星导航系统都能提供什么服务?
- oppor11st升Android p,OPPO R11st刷机教程_OPPO R11st卡刷升级更新官方系统包
- RxSwift之路01-----简单的RxSwift使用
- 信息用短信服务器发送什么意思,已用短信息服务发送是什么意思
- C语言指针中 *p 和 p 的区别
- ArcGIS Server SOI的调试与触发
热门文章
- 音频脉冲c语言程序,基于单片机的音乐发声器的设计(完整版,含程序和电路图).doc...
- C++ lock 加锁,解锁
- C#无法将顶级控件添加到控件 新的子窗体无法添加到主窗体
- html flash rtmp,Web直播之RTMP协议:vue-video-player + videojs-flash
- 读取hdr图像_HDR和蓝光哪个更清晰?画质更好?
- 怎么让图片一直转圈_半夜跟着导航开进山路,货车绕了3小时仍原地转圈,小两口快急哭...
- fclose会写入硬盘吗 linux_Linux 文件操作总结
- 总结一下自己脑海里的JavaScript吧(一)--DOM模型
- CP_EndPoint环境中的Hotspot Settings
- Android中使用响应式编程RxJava