编写 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. vue学习笔记之父组件子组件的传值

    一  在前端开发过程中,很多情况下一个页面无法装载大部分的代码,所以需要子组件来完成父组件的任务,下面我来展示一下,组件之间如何进行传值以及常见的坑,首先上代码 1.1   父组件代码 <tem ...

  2. nc反弹中 &>、0>&1是什么意思

    1.简介 本文结合一些参考文章以及作者个人理解解释Linux的bash反弹命令中的 &>.0>&1 观点有误,欢迎指出! 目标讨论命令:bash -i >& ...

  3. IDS4 傻瓜式实践指南

    前言: 这是一篇实践指南,不会过多的解释原理(因为我也说不清楚,想了解的同学请移步老张的博客,里面有非常详细的介绍),本篇文章讲解如何简单的使用IDS4来实现单点登录,以及遇到的一些坑实现功能: 1. ...

  4. 用友u8 使用 api资源管理器新增单据的一些方法

    一般都使用传xml对象的方式.这种方式方便在只需传入正确的视图就行了.但是如果字段不全,或者字段的数据类型与api要求的不服,会报些莫名其妙的错误,比如这些: 项目大类0不存在项目大类0不存在货位不合 ...

  5. 论GNU、Linux和GNU/Linux之间的关系

    相信很多人看到了这个标题就会产生疑问,这篇文章到底要讲什么东西?在回答这个问题之前,我先提出几个问题? 1. 什么是Linux? 2. 什么是GNU? 3. GNU/Linux是什么玩意儿? 在回答了 ...

  6. HTML——标签元素的两大类

    块级标签(block) – 独占一行 内联标签(inline) – 按文本内容占位 div标签和span标签 <div>只是一个块级元素,并无实际的意义.主要通过CSS样式为其赋予不同的表 ...

  7. Vue——Ajax请求的基本使用

    1.get方法发送Ajax请求 // 直接在 URL 上添加参数 ID=12345 axios.get('/user?ID=12345') .then(function (response) { co ...

  8. FFmpeg下载编译、代码结构以及编译系统

    从这里开始,就要踏上学习FFmpeg的旅程了,使用的FFmpeg版本5.0.1 1.ubuntu下,如何下载并编译FFmpeg源码 打开FFmpeg官网 Download FFmpeg,我们可以通过g ...

  9. 【C# 序列化】System.Text.Json.Nodes ---Json数据交换格式 对应C#类

    请先阅读 JSON数据交换格式 Json数据交换格式 对应C#类 System.Text.Json.Nodes:.NET 6 依微软的计划,System.Text.Json 应取代Newtonsoft ...

  10. Swift 计算字符串展示的区域

    一.如果是普通文本,那么可以采用NSString的方法,代码如下: import UIKit import PlaygroundSupport class MyViewController : UIV ...