[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.pyoeasy是文件名- 后面的扩展名
py代表python - 扩展名可以让用户知道
- 这个文件可以用python3执行
编辑
vi和oeasy.py之间有个空格- 表示用
vi这个命令打开oeasy.py
- 表示用
进入 vi
然后进入了
vi的界面了- 左下角如下图
编辑
注意写的是
"oeasy.py" [新文件]- 特别要时刻注意终端左下角这个位置
- 就像小地图一样重要
编辑 py 文件
按 i 键进入编辑模式
- 再观察左下角
- 如下图所示
- 变成显示
--插入(粘贴)--
可以进行插入文字了
- 在上面输入
print("oeasy")
- 在上面输入
编辑
时刻注意左下角
- vi始终处于插入状态
回到正常模式
输入
print("hello")之后- 按 esc 键回到正常模式
- 再观察左下角
--插入(粘贴)--不显示了
- 如下图
编辑
- oeasy.py 后面有个[+]
- [+]意味着没保存
- 那怎么保存呢?
进入底行命令模式
按 : 键进入命令行模式
注意用的是左手小指和右手小指配合
- 左手小指shift
- 右手小指;
按下就从正常模式切换到了命令行模式
- 再观察左下角
编辑
- 出现
: - 可执行命令了
- 具体执行什么命令呢?
保存文件
- 执行的是写命令
输入
ww的意思是write写文件- 就是保存
编辑
- 然后回车确认
回车确认
然后按 回车 键
- 执行:w
- oeasy.py后面的[+]消失
编辑
这个新文件已经存储了
- 总共1行,15个字符
我可以运行这个程序么?
- 得要先回到
zsh环境
- 得要先回到
运行程序
按下 : 键
- 再次进入底行命令模式
输入
qq的意思是quit- 退出
vi
编辑
- 回车之后退出vi
- 这样就回到了shell
vim教程的推荐
如果想要对于 vim 深入了解
建议以后有时间的话点击下面这个链接看看
现在我们还是继续玩python
- 和vim相关内容在python这边也会详细说明
编辑
- 编写好了python文件我们可以查看么?
查看 py 文件
cat oeasy.pycat对应着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编写登录等脚本时,一直都是给用户名和密码直接赋值.但是考虑到这样不便于管理,而且可能多个地方用到同一个变量,所以想把变量放在一个单独的文件中进行管理. 以登录脚本为例 ...
随机推荐
- vue学习笔记之父组件子组件的传值
一 在前端开发过程中,很多情况下一个页面无法装载大部分的代码,所以需要子组件来完成父组件的任务,下面我来展示一下,组件之间如何进行传值以及常见的坑,首先上代码 1.1 父组件代码 <tem ...
- nc反弹中 &>、0>&1是什么意思
1.简介 本文结合一些参考文章以及作者个人理解解释Linux的bash反弹命令中的 &>.0>&1 观点有误,欢迎指出! 目标讨论命令:bash -i >& ...
- IDS4 傻瓜式实践指南
前言: 这是一篇实践指南,不会过多的解释原理(因为我也说不清楚,想了解的同学请移步老张的博客,里面有非常详细的介绍),本篇文章讲解如何简单的使用IDS4来实现单点登录,以及遇到的一些坑实现功能: 1. ...
- 用友u8 使用 api资源管理器新增单据的一些方法
一般都使用传xml对象的方式.这种方式方便在只需传入正确的视图就行了.但是如果字段不全,或者字段的数据类型与api要求的不服,会报些莫名其妙的错误,比如这些: 项目大类0不存在项目大类0不存在货位不合 ...
- 论GNU、Linux和GNU/Linux之间的关系
相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题? 1. 什么是Linux? 2. 什么是GNU? 3. GNU/Linux是什么玩意儿? 在回答了 ...
- HTML——标签元素的两大类
块级标签(block) – 独占一行 内联标签(inline) – 按文本内容占位 div标签和span标签 <div>只是一个块级元素,并无实际的意义.主要通过CSS样式为其赋予不同的表 ...
- Vue——Ajax请求的基本使用
1.get方法发送Ajax请求 // 直接在 URL 上添加参数 ID=12345 axios.get('/user?ID=12345') .then(function (response) { co ...
- FFmpeg下载编译、代码结构以及编译系统
从这里开始,就要踏上学习FFmpeg的旅程了,使用的FFmpeg版本5.0.1 1.ubuntu下,如何下载并编译FFmpeg源码 打开FFmpeg官网 Download FFmpeg,我们可以通过g ...
- 【C# 序列化】System.Text.Json.Nodes ---Json数据交换格式 对应C#类
请先阅读 JSON数据交换格式 Json数据交换格式 对应C#类 System.Text.Json.Nodes:.NET 6 依微软的计划,System.Text.Json 应取代Newtonsoft ...
- Swift 计算字符串展示的区域
一.如果是普通文本,那么可以采用NSString的方法,代码如下: import UIKit import PlaygroundSupport class MyViewController : UIV ...