> 文档中心 > Python零基础入门篇 - 07 - Python 的脚本结构

Python零基础入门篇 - 07 - Python 的脚本结构


前言
✌ 作者简介:渴望力量的哈士奇,大家可以叫我 🐶哈士奇🐶 。(我真的养了一只哈士奇)
📑 个人主页:渴望力量的哈士奇主页
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥 如果感觉博主的文章还不错的话,还请不吝👍关注、点赞、收藏三连支持👍一下博主哦
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬

📕系列专栏::
               👍 Python全栈系列 - [更新中]    ➡️➡️➡️ 【 本文在该系列】
               👋 网安之路系列
​                       🍋 网安之路踩坑篇
​                       🍋 网安知识扫盲篇
​                       🍋 Vulhub 漏洞复现篇
​                       🍋 Shell脚本编程篇
​                       🍋 Web攻防篇  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                       🍋 渗透工具使用集锦  ➡️➡️➡️ 2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                       🍹 测试神器 - Charles 篇
​                       🍹 测试神器 - Fiddler 篇
​                       🍹 测试神器 - Jmeter 篇
​                       🍹 自动化 - RobotFrameWork 系列
​                       🍹 自动化 - 基于 JAVA 实现的WEB端UI自动化
                       🍹 自动化 - 基于 MonkeyRunner 实现的APP端UI自动化
​                🤗 2019年之前学习Python留下的乱七八糟系列

                                                                                  🎉🎉欢迎持续关注🎉🎉

Python零基础入门篇 - 07 - Python 的脚本结构

文章目录

    • 创建一个项目与演示脚本
    • python 的脚本结构
    • python 脚本的执行
    • python 的头部注释
    • python 的导入[模块(类库)的引入]
    • python 程序的执行顺序
    • python 程序的注释
    • python脚本执行入口
    • 关于 Python 中的缩进规则
    • Python 中的内置函数 input

在了解 python 的脚本结构之前, 我们先创建一个脚本

创建一个项目与演示脚本


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述



python 的脚本结构


在这里插入图片描述


python 脚本的执行

Pycharm 中,我们有两种方式执行脚本。

一种是利用菜单栏、工具栏、右击出现的 “run xxxx”(或者快捷键 Ctrl + Shift + F10) 实现。


在这里插入图片描述


另一种就是利用 PycharmTerminal 命令行终端


在这里插入图片描述


python 的头部注释


  • 什么是python头部注释

    • 写在 python 脚本第一行,以 "#" 开头的表示的信息就是头部注释

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

```# !/usr/bin/env python# -*- coding:utf-8 -*-  或者# coding:utf-8```

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,根据usr/bin/env路径去找python的运行程序来运行,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

不过现在一般情况下都只会写一行 "#coding:utf-8"


  • python头部注释作用

    • 头部注释并不是为代码而服务的,更多的是被系统或解释器所调用。
    • 告诉系统Python解释器在哪?
    • 脚本的编码格式是什么编码格式?

  • 常用的头部注释

    • 国内常用 "# coding:utf-8" :定义 coding 规则告诉系统脚本是何种编码格式
    • 目前很少使用 "# !/usr/bin/env python" :定义 python 解释器的指定执行路径 [WIN系统不生效]

python 的导入[模块(类库)的引入]


  • 1.导入的是什么?
    • 导入的是将python中的一些功能函数挡在当前脚本中使用
    • 不导入的功能在当前脚本中无法被直接使用(除了python自带的内置函数)

  • 2.为什么需要导入?
    • 可以理解为B脚本想借用A脚本里的功能用一用,就需要把A脚本中的功能导入到B脚本中

  • 3.初识导入语法
    • import os
    • import : 内置导入函数
    • os : 被导入的模块

参考一个 import 的小案例

# coding:utf-8    import os a = "当前的路径为:"b = os.getcwd()    print(a, b)

输出结果为当前的路径为: /Users/xxxx/PycharmProjects/pythonlearn

python 程序的执行顺序

顺序如何执行的?

这里我们看一个执行 “print” 函数的脚本

    # coding:utf-8 print("这是第一行 'print' 信息")    print("这是第二行 'print' 信息") print("这是第三行 'print' 信息", end=",")    print("这是第四行 'print' 信息", ) print("Hello", "World")

上文中的 “print” 函数是 Python3.x的内置函数(Python3.x已经变为了内置函数,Python2.x中,print为关键字 )。那么什么是内置函数?

内置函数就是python标准库里(语言自身携带的)函数(公共函数),不需要重复造轮子,也不需要导入,可以直接使用的函数。再通俗一点可以理解为解释器自带的函数就是内置函数。

现在就看看我们接触的第一个python内置函数 “print”

print 的翻译是 “打印” 的意思,可以将信息显示(打印)在控制台(cmd)上的函数,print 函数可以将Python代码中几乎所有程序都可以打印出来。

了解了 "print"函数后,现在我们再来看看 "print"函数的语法 print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

  • objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep – 用来间隔多个对象,默认值是一个空格。
  • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
  • file – 要写入的文件对象。
  • flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

上文的 “print” 函数的脚本输出结果见下图

在这里插入图片描述

由此可知,python脚本的执行顺序是由上而下,逐行执行的。

"print"函数是我们学习python所接触的第一个内置函数,在后续的学习过程中我们会不端的接触内置函数,尤其是在函数相关的章节我们还会学习函数的创建执行等等。

python 程序的注释

什么是注释?

在代码中不会被python直接执行的语句

为什么使用注释?

第一、确保对模块, 函数, 方法和行内注释使用正确的风格,它们可以用自然语言告诉你某段代码的功能是什么。

第二、注释可以帮助调试程序

给代码添加说明是注释的基本作用,除此以外它还有另外一个实用的功能,就是用来调试程序。

举个例子,如果你觉得某段代码可能有问题,可以先把这段代码注释起来,让 Python 解释器忽略这段代码,然后再运行。如果程序可以正常执行,则可以说明错误就是由这段代码引起的;反之,如果依然出现相同的错误,则可以说明错误不是由这段代码引起的。

在调试程序的过程中使用注释可以缩小错误所在的范围,提高调试程序的效率。

注释的三种用法

  • Python中的注释有单行注释和多行注释:

  • Python中单行注释以 # 开头

  • Python中多行注释分别为6个双引号和6个单引号

下面我们看一下关于注释的一个小练习,方便我们更直观的了解注释

# coding:utf-8"""    @Author:Neo    @Date:2020/9/14    @Filename:04-notes.py    @Software:Pycharm"""print("再小的努力,乘以365都很明显")print("坚持!坚持!坚持!")print("-----------------------")'''    这个脚本用于注释练习    引号注释一般应用在两个场景    1.应用在整个脚本的开篇,作用是给别人介绍一下这个脚本的作用    2.对于函数功能的解释,比如"print"内置函数里就有这样的解释3.Python中使用 # 进行注释,我们在使用# 的时候,# 号后面要空一格4.在行内注释的时候,中间应该至少加两个空格'''# 关于双引号和单引号的多行注释应用场景,其实并没有强制的规范,但是我们尽量要统一。# 不要上面用双引号的多行注释,下面用单引号的多行注释,非常之不美观()print("人生苦短,我用Python")    # 这是一个简单的注释练习

python脚本执行入口

什么是python脚本执行入口?

通俗一点来说,好比进入一栋大楼肯定有个大门入口,汽车上高速也一定有一个入口。所以,执行程序,也需要一个入口;一般称代码执行的入口叫做主函数(main 函数)。

对于很多编程语言来说,程序都必须要有一个入口,比如C,C++,以及完全面向对象的编程语言Java,C#等。
如果你接触过这些语言,对于程序入口这个概念应该很好理解,C,C++都需要有一个main函数作为程序的入口,也就是程序的运行会从main函数开始。同样,Java,C#必须要有一个包含Main方法的主类,作为程序入口。

而Python则不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。
也就是从脚本第一行开始运行,没有统一的入口。

一个Python源码文件(.py)除了可以被直接运行外,还可以作为模块(也就是库),被其他.py文件导入。
不管是直接运行还是被导入,.py文件的最顶层代码都会被运行(Python用缩进来区分代码层次),而当一个.py文件作为模块被导入时,
我们可能不希望一部分代码被运行。

下面我们来看看执行入口(主函数)的写法

if __name__ == '__main__':    print(os.getcwd())    print("这是python脚本的执行入口")

关于上面的 “主函数” 我们来解释下

  • 代码 中 if 的意思就是:如果运行的程序是你自己,那么就执行 print(os.getcwd())print("这是python脚本的执行入口")
  • 假设运行的是 a.py 这个脚本,且这个脚本内有主函数,那么就会执行主函数
  • 假设运行的是 b.py 这个脚本,即使 b.py 导入了 a.py ,也不会执行 a.py 里面的主函数(main 函数)

那么是否一定需要执行入口(主函数)? 其实是不一定的,假设没有主函数,那么运行 python脚本 时,就会至上而下,逐行运行 python脚本 的所有代码。

既然不一定需要执行入口,那么执行入口的意义是什么呢?其目的是将业务代码写在主函数上面,主函数用来调用业务代码,代码结构整洁向 Java、C、Golang 看齐,他们都是要求一个程序必须有一个主执行入口才能正确运行。

上面的(主函数)的写法我们看到在 “print” 函数前面有一小段空白区域,由此就引出了接下来的需要我们了解的 python的缩进规则

关于 Python 中的缩进规则

区别于其它程序语言(这里我们以 JAVA 和 C 语言为例)所采用的大括号 “{ }” 来分隔代码块,在 Python 中所采用的是 代码缩进冒号( : )来区分代码块之间的层次。

在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

需要注意的是,Python 中实现对代码的缩进,可以使用空格或者 Tab 键两种方式来实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

关于 Python 的缩进规则,初学者可以这样理解,Python 要求处于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。

例如,下面这段 Python 代码中(涉及到了目前尚未学到的知识,初学者无需理解代码含义,只需体会代码块的缩进规则即可)

a = 2if a > 1:    print("当前 a 的值大于1")  # 缩进4个空格占位else:# 与if对齐    print("当前 a 的值小于1")   # 缩进4个空格占位

现在我们再来看一下缩进不是那么规范的 Python 代码

a = 2if a == 1:    print("当前 a 的值等于2")   # 缩进4个空格占位else:   # 与if对齐    print("当前 a 的值不等于2")    # 缩进4个空格占位print("结束")

在这里插入图片描述


在 Pycharm 中 我们可以很直观的看到在21行代码出现了红色的错误标识符,那么运行一下试试看。


Python零基础入门篇 - 07 - Python 的脚本结构


抛出了 IndentationError: unexpected indent 异常,该异常的原因就是缩进异常,Indentation 即缩进的意思,该异常出现的场景往往出现在 空格与 Tab 缩进混用 或者是 缩进出现错误 的情况下,这个时候就需要排查源码中对应代码行修复缩进的问题即可解决。

由此可见一个好的编码规范是多么的重要啊,可参考 Python零基础入门篇 - 06 - Python初学者需要牢记的几种编码规范

Python 中的内置函数 input

input函数的功能:接收一个标准输入的数据,返回为 string 类型;在命令行输入一行信息,会将这行信息返回成字符串。

input函数的用法用法:    result = input('请输入 input 内容')参数:    括号内是一个提示字符串,告知用户需要填写的已知条件

下面我们看一个 input 函数的演示栗子(涉及到了目前尚未学到的知识,无需理解代码含义,只需体会 input 函数用法即可)

name = input("请输入姓名:")birthday = input("请输入生日:")sex = input("请输入性别:")print("你的名字是:%s, 生日是:%s, 性别是:%s " % (name, birthday, sex))  # '%s' 为格式化字符串

输出结果如下:



51声卡推荐网