[oeasy]教您玩转python - 0003 - 编写 py 文件
编写 py 文件
回忆上次内容
次在解释器里玩耍
了解到字符串就是给一堆字符两边加引号
- 可以是单引号
- 也可以是双引号
这样游乐场就知道
- 这个不是一个名字
- 而是一个字符串
字符串可以用print函数进行输出
- 但是print千万不要打错
- 就连大小写都不能错
编辑
我们在游乐场玩了这么久
- 能否写一个真正的python文件啊?
编辑 py 文件
- 我想要编辑一个完整的 python
- 文件保存好之后再执行
- 那就要先退出解释器
#退出解释器
quit()
- 回到 shell 环境
编辑
新建 py 文件
- 退出 python3 的
游乐场
环境 - 回到
shell
之后
编辑
用
vi
新建一个叫oeasy.py
的文件vi
是编辑神器- 是我们主要的编辑工具
- 也是我们的练武场
编辑
命令分析
#用vi打开并编辑oeasy.py
vi oeasy.py
vi
的目标是oeasy.py
- 用
vi
来编辑oeasy.py
- 用
oeasy.py
oeasy
是文件名- 后面的扩展名
py
代表python
- 扩展名可以让用户知道
- 这个文件可以用python3执行
编辑
vi
和oeasy.py
之间有个空格- 表示用
vi
这个命令打开oeasy.py
- 表示用
进入 vi
然后进入了
vi
的界面了- 左下角如下图
编辑
注意写的是
"oeasy.py" [新文件]
- 特别要时刻注意终端左下角这个位置
- 就像小地图一样重要
编辑 py
文件
按 i 键进入编辑模式
- 再观察左下角
- 如下图所示
- 变成显示
--插入(粘贴)--
可以进行插入文字了
- 在上面输入
print("oeasy")
- 在上面输入
编辑
时刻注意左下角
- vi始终处于插入状态
回到正常模式
输入
print("hello")
之后- 按 esc 键回到正常模式
- 再观察左下角
--插入(粘贴)--
不显示了
- 如下图
编辑
- oeasy.py 后面有个[+]
- [+]意味着没保存
- 那怎么保存呢?
进入底行命令模式
按 : 键进入命令行模式
注意用的是左手小指和右手小指配合
- 左手小指shift
- 右手小指;
按下就从正常模式切换到了命令行模式
- 再观察左下角
编辑
- 出现
:
- 可执行命令了
- 具体执行什么命令呢?
保存文件
- 执行的是写命令
输入
w
w
的意思是write
写文件- 就是保存
编辑
- 然后回车确认
回车确认
然后按 回车 键
- 执行:w
- oeasy.py后面的[+]消失
编辑
这个新文件已经存储了
- 总共1行,15个字符
我可以运行这个程序么?
- 得要先回到
zsh
环境
- 得要先回到
运行程序
按下 : 键
- 再次进入底行命令模式
输入
q
q
的意思是quit
- 退出
vi
编辑
- 回车之后退出vi
- 这样就回到了shell
vim教程的推荐
如果想要对于 vim 深入了解
建议以后有时间的话点击下面这个链接看看
现在我们还是继续玩python
- 和vim相关内容在python这边也会详细说明
编辑
- 编写好了python文件我们可以查看么?
查看 py 文件
cat oeasy.py
cat
对应着concatenate
- 本意是连接字符串
- 这里用于输出文本内容
oeasy.py
指的是要被输出的文件
编辑
这样就可以查看已经编写的
oeasy.py
的内容oeasy.py
是编写好的 python 程序- 虽然
oeasy.py
只有一句 - 但也是一个程序
vi oeasy.py
- 用vi编辑了oeasy.py
cat oeasy.py
- 用cat查看了oeasy.py
前面都是命令
- 后面参数都是目标文件
- 用什么来运行oeasy.py呢?
- 真的可以运行么?
- 等待见证奇迹的时刻!!!
运行 py 文件
python3 oeasy.py
- 运行
python3
程序 python3
既是我们的游乐场- 也是解释执行
py文件
的程序
- 运行
oeasy.py
是python3
的参数- 意思是用
python3
来执行oeasy.py
- 意思是用
编辑
- 真的成功了!!!
- 可以截图记录下这伟大的一天!!!
编辑
恭喜你的最初用的
- linux系统
- vim编辑器
- 都是非常经典的
优秀的起点
若干年后
- 当已经成为编程大师的你
编辑
翻看自己当年发的状态
- 第一个程序就是在linux上用vim编写的python!
编程的快乐
只要你正确地书写了程序
- 百分之百可以得到正确结果
- 这就是千真万确的编程
- 这就是扎扎实实代码
- 这就是百分之一千的快乐
编辑
然而我们是有可能犯错的
- 比如大小写的细节
如果要把
print
故意写错- 写成
pront
会如何? - 就像游乐场里那样
- 写成
运行错误程序
- 先vi oeasy.py开始编辑
进入程序之后
- 用i进入插入模式
- 用方向键进行移动
- 把
oeasy.py
修改成下图的样子
编辑
:w
- 保存
:q
- 退出
- 在shell中运行
python3 oeasy.py
运行结果
- 不出所料
编辑
程序出错了
- 运行不出来了
- 这确实会让我们感觉到痛苦
- 但痛苦让我们感觉到自己是存在的
编辑
- 这个结果和游乐场一样吗?
结果对比
- 按↑可以重复上一条命令
和游乐场一样
- 还是NameError
- 不认识pront这个name
- 说明python程序和python游乐场是相通的
- 本来就是一个程序
- 不过还是有一点小区别的
编辑
- 游乐场中的程序来自标准(standard)输入(in)流
oeasy.py
的程序来自oeasy.py
这个文件如果单词是print
- 但是大小写不同可以么?
大写 Print
函数首字母大写 会如何?
vi oeasy.py
- 把
print
改成Print
编辑
:wq
- 先
w
保存 - 再
q
退出 - 两个命令一起做
- 一次完成
- 先
python3 oeasy.py
编辑
python 还是那样固执
- 大写就是大写
- 小写就是小写
- 一点错误都不能有
挑剔
这种特性叫做
- 大小写敏感的 (case-sensitive)
- shell中的命令也是大小写敏感吗?
编辑
shell也是非常挑剔、吹毛求疵的
- 一点错误都不能有
可以发现 python 文件中的代码是大小写敏感的
- 而且系统命令的执行也是大小写敏感的
- 大写 PYTHON 系统就不认
总之都是大小写敏感的 (case-sensitive)
- 我们都改好
- 再运行
成功!!!
- 不出意料地成功了
编辑
- 虽然仿佛一切回到了原点
- 当你把所有错误都根据提示修改好后
- 程序能够按照你的设想运行起来的时候
- 你能否感到那种百分之百的确定感、幸福感
编辑
以及战胜错误之后获得的百分之一万的快乐
- 哈哈<h1 style="font-size:200px"></h1>
- 编程语言很多
- 我们为什么选python作为初练呢?
与其他语言比较
编辑
python 确实写起来比较简洁
- 简洁胜于复杂
- Simple is better than complex
- 我认为今天入门编程最好的语言就是python
编辑
恭喜您凑齐三大顶级法宝
- linux 系统
- vim 编辑器
- python 语言
- 我觉得这个套装非常经典!
总结
我们编写了python文件
- vi oeasy.py
- cat oeasy.py
- python3 oeasy.py
- 操作的都是oeasy.py
python文件里面的程序和游乐场差不多
- 都是认死理儿的
程序员也多多少少沾染这种气息
- 一就是一
- 二就是二
- 斩钉截铁
不过还是很可爱的
- 要关心身边的程序员啊
- 可以让我们的程序更复杂一点吗?
- 我们下次再说!
蓝桥云课:oeasy 教您玩转 python_Python - 蓝桥云课
github:https://github.com/overmind1980/oeasy-python-tutorial
gitee:oeasy教您玩转python教程: 面向零基础初学者的简明易懂的 Python3 入门课程,对没有编程经验的同学也非常友好。在vim下从浅入深,逐步学习。从基础入门学习到爬虫。 作者:oeasy
[oeasy]教您玩转python - 0003 - 编写 py 文件的更多相关文章
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- 转载:【学习之家】Python中__init__.py文件的作用
Python中__init__.py文件的作用详解 Python中__init__.py文件的作用详解 来源:学习之家 作者:xuexi110 人气:357 发布时间:2016-09-29 摘要:__ ...
- python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用
python执行py文件的流程 当我们执行一个py文件的时候,直接python xx.py即可,那么这个流程是怎么样的呢.先说明一下,python执行代码实际上是先打开文件然后执行里面的代码,所以文件 ...
- python中__init__.py文件的作用
问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...
- Python中__init__.py文件的作用详解
转自http://www.jb51.net/article/92863.htm Python中__init__.py文件的作用详解 http://www.jb51.net/article/86580. ...
- python进阶之py文件内置属性
前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...
- python批量运行py文件
import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- python使用外部PY文件的变量
在用python和selenium编写登录等脚本时,一直都是给用户名和密码直接赋值.但是考虑到这样不便于管理,而且可能多个地方用到同一个变量,所以想把变量放在一个单独的文件中进行管理. 以登录脚本为例 ...
随机推荐
- go高并发之路——go语言如何解决并发问题
一.选择GO的原因 作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了.无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分, ...
- FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器
AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10.Mozilla Daala以及Cis ...
- aardio桌面软件开发 简单,打包后文件小,支持 .net python 和 众多插件
aardio 编程语言 - 官网 aardio 专注于桌面软件开发,17年一直保持非常活跃地更新( 更新日志 ),aardio 被多年用于生产项目实践,久经测试和锤炼.aardio 在诞生之初就设计 ...
- FRDM-MCXN947开发板之RGB灯
一.背景 RGB LED:通过红.绿.蓝三种颜色组合发光的LED,可以理解由三个不同发光属性的LED组成,这个是LCD平板显示原理的基础,一个LED相当于屏幕上面的一个像素 FRDM-MCXN947集 ...
- 第一次线上 OOM 事故,竟和 where 1 = 1 有关
这篇文章,聊聊一个大家经常使用的编程模式 :Mybatis +「where 1 = 1 」. 笔者人生第一次重大的线上事故 ,就是和使用了类似的编程模式 相关,所以印象极其深刻. 这几天在调试一段业务 ...
- react withRouter高阶组件
作用:把不是通过路由切换过来的组件中,将react-router 的 history.location.match 三个对象传入props对象上 默认情况下必须是经过路由匹配渲染的组件才存在this. ...
- kettle从入门到精通 第三十六课 kettle carte 集群
1.carte服务可以单体运行也可以集群方式运行,今天我们一起来学习下carte的集群模式部署和使用.本次示例用一个master和两个slave从节点演示. carte-config-master-8 ...
- 解决Python使用GPU
在Python中使用GPU进行计算通常涉及到一些特定的库,如NumPy.SciPy的GPU加速版本(如CuPy.PyCUDA等)或深度学习库(如TensorFlow.PyTorch等).这些库能够利用 ...
- 使用 JavaScript 脚本来进行复杂的查询改写
有这么一个需求: 网关里怎样对跨集群搜索进行支持的呢?我想实现: 输入的搜索请求是 lp:9200/index1/_search 这个索引在 3 个集群上,需要跨集群检索,也就是网关能否改成 lp:9 ...
- tempcode排序
package com.hsy;import com.alibaba.fastjson.JSON;import org.springframework.util.CollectionUtils;imp ...