前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python零基础入门篇⓪⑥] - Python 的脚本结构

[Python零基础入门篇⓪⑥] - Python 的脚本结构

原创
作者头像
哈哥撩编程
修改2024-06-18 07:46:51
2190
修改2024-06-18 07:46:51

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

🌟 创建一个项目与演示脚本



🌟 python 的脚本结构

🌟 python 脚本的执行

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

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

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


🌟 python 的头部注释


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

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

代码语言:python
复制
# !/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 的小案例

代码语言:python
复制
# coding:utf-8
    
import os
    
    
a = "当前的路径为:"
b = os.getcwd()
    
print(a, b)

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

`

🌟 python 程序的执行顺序

顺序如何执行的?

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

代码语言:python
复制
    # 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个单引号

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

代码语言:python
复制
# 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文件作为模块被导入时,

我们可能不希望一部分代码被运行。

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

代码语言:python
复制
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 代码中(涉及到了目前尚未学到的知识,初学者无需理解代码含义,只需体会代码块的缩进规则即可)

代码语言:python
复制
a = 2

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

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

代码语言:python
复制
a = 2

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

       print("结束")

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

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

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

🌟 Python 中的内置函数 input

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

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

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

代码语言:python
复制
name = input("请输入姓名:")
birthday = input("请输入生日:")
sex = input("请输入性别:")

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

输出结果如下:



我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌟 创建一个项目与演示脚本
  • 🌟 python 的脚本结构
  • 🌟 python 脚本的执行
  • 🌟 python 的头部注释
  • 🌟 python 的导入模块(类库)的引入
  • 🌟 python 程序的执行顺序
  • 🌟 python 程序的注释
  • 🌟 python脚本执行入口
  • 🌟 关于 Python 中的缩进规则
  • 🌟 Python 中的内置函数 input
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档