编写 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执行

编辑

  • vioeasy.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.pypython3 的参数

    • 意思是用 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 文件的更多相关文章

  1. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

  2. 转载:【学习之家】Python中__init__.py文件的作用

    Python中__init__.py文件的作用详解 Python中__init__.py文件的作用详解 来源:学习之家 作者:xuexi110 人气:357 发布时间:2016-09-29 摘要:__ ...

  3. python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用

    python执行py文件的流程 当我们执行一个py文件的时候,直接python xx.py即可,那么这个流程是怎么样的呢.先说明一下,python执行代码实际上是先打开文件然后执行里面的代码,所以文件 ...

  4. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  5. Python中__init__.py文件的作用详解

    转自http://www.jb51.net/article/92863.htm Python中__init__.py文件的作用详解 http://www.jb51.net/article/86580. ...

  6. python进阶之py文件内置属性

    前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...

  7. python批量运行py文件

    import os path="E:\\python" #批量的py文件路径 for root,dirs,files in os.walk(path): #进入文件夹目录 for ...

  8. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  9. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  10. python使用外部PY文件的变量

    在用python和selenium编写登录等脚本时,一直都是给用户名和密码直接赋值.但是考虑到这样不便于管理,而且可能多个地方用到同一个变量,所以想把变量放在一个单独的文件中进行管理. 以登录脚本为例 ...

随机推荐

  1. .net core DataTable.Load()方法,返回的行缺少,少于reader读出的行

    我分析的原因是,datatable模式的schema默认是根据查询的sql来的.起因是我写的sql中带有主键的列,查出来有很多重复值, 然后dt.load会默认把主键重复的行给合并掉,所以最终查询出来 ...

  2. JDK8之前,匿名内部类访问的局部变量为什么必须要用final修饰

    更多博文请关注:https://blog.bigcoder.cn 前不久在学习中意外发现了自己原来忽略的一个小知识点,挺有意思的,现在我来给大家分享一下! 我们先来看一段代码 public class ...

  3. jquery 给表格添加或删除一行

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. C# xml与对象相互转换

    例如: 1.对象转xml(对象序列化为xml) string strImage= XmlSerializeHelper.Serialize<List<ImageSingle>> ...

  5. 开源一站式敏捷测试管理&极简项目管理 itest(爱测试) 6.6.0 发布 ,新增拖拽生成接口测试断言

    itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理,接口测试5合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代 ...

  6. Your Post Title Here

    VSCode 实时预览还需要执行 Markdown: Open Preview to the Side 命令来实现. 在命令窗口输入 Markdown: Open Preview to the Sid ...

  7. 小程序转发 搜索wxml

    新闻转发 在小程序中要不通过菜单项来完成分享功能,只能通过表单组件中的按钮来完成. 它是通过按钮中的开放能力完成 按钮自定义处理 新闻搜索 搜索wxml 搜索业务的js

  8. Windows下cmd命令行ssh连接Linux服务器

    1.window+R键进入运行 2.输入cmd,运行命令行工具 3.使用,命令ssh连接服务器 ssh -t 用户名@ip地址 -p 22 例如: 输入密码,显示连接成功

  9. INFINI Labs 产品更新 | Easysearch 新增 kNN 搜索功能、Console 支持 LDAP 认证登录等

    INFINI Labs 产品又更新啦~,包括 Easysearch v1.3.0.Gateway v1.16.0.Console v1.4.0.Agent v0.5.1.本次产品更新了许多实用新特性, ...

  10. 谁说.net core不好动态访问webservice?看这篇文章,C#快速实现动态访问webservice,兼容.net framework和.net core+

    前言:访问webservice,大多数人都是用服务引用的方式,但是这种方式比较麻烦,例如遇到服务更新了,你还需要手动更新你的服务引用,再重新发布,很麻烦.或者已有的一些例子,至少我看到的很多案例,动态 ...