编写 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. go高并发之路——go语言如何解决并发问题

    一.选择GO的原因 作为一个后端开发,日常工作中接触最多的两门语言就是PHP和GO了.无可否认,PHP确实是最好的语言(手动狗头哈哈),写起来真的很舒爽,没有任何心智负担,字符串和整型压根就不用区分, ...

  2. FFmpeg开发笔记(二十四)Linux环境给FFmpeg集成AV1的编解码器

    ​AV1是一种新兴的免费视频编码标准,它由开放媒体联盟(Alliance for Open Media,简称AOM)于2018年制定,融合了Google VP10.Mozilla Daala以及Cis ...

  3. aardio桌面软件开发 简单,打包后文件小,支持 .net python 和 众多插件

    aardio 编程语言 - 官网 aardio  专注于桌面软件开发,17年一直保持非常活跃地更新( 更新日志 ),aardio 被多年用于生产项目实践,久经测试和锤炼.aardio 在诞生之初就设计 ...

  4. FRDM-MCXN947开发板之RGB灯

    一.背景 RGB LED:通过红.绿.蓝三种颜色组合发光的LED,可以理解由三个不同发光属性的LED组成,这个是LCD平板显示原理的基础,一个LED相当于屏幕上面的一个像素 FRDM-MCXN947集 ...

  5. 第一次线上 OOM 事故,竟和 where 1 = 1 有关

    这篇文章,聊聊一个大家经常使用的编程模式 :Mybatis +「where 1 = 1 」. 笔者人生第一次重大的线上事故 ,就是和使用了类似的编程模式 相关,所以印象极其深刻. 这几天在调试一段业务 ...

  6. react withRouter高阶组件

    作用:把不是通过路由切换过来的组件中,将react-router 的 history.location.match 三个对象传入props对象上 默认情况下必须是经过路由匹配渲染的组件才存在this. ...

  7. kettle从入门到精通 第三十六课 kettle carte 集群

    1.carte服务可以单体运行也可以集群方式运行,今天我们一起来学习下carte的集群模式部署和使用.本次示例用一个master和两个slave从节点演示. carte-config-master-8 ...

  8. 解决Python使用GPU

    在Python中使用GPU进行计算通常涉及到一些特定的库,如NumPy.SciPy的GPU加速版本(如CuPy.PyCUDA等)或深度学习库(如TensorFlow.PyTorch等).这些库能够利用 ...

  9. 使用 JavaScript 脚本来进行复杂的查询改写

    有这么一个需求: 网关里怎样对跨集群搜索进行支持的呢?我想实现: 输入的搜索请求是 lp:9200/index1/_search 这个索引在 3 个集群上,需要跨集群检索,也就是网关能否改成 lp:9 ...

  10. tempcode排序

    package com.hsy;import com.alibaba.fastjson.JSON;import org.springframework.util.CollectionUtils;imp ...