当前位置: 首页 > article >正文

《Python基础教程》笔记(ch0-1)

在这里插入图片描述

前言

在Python生态系统中,各种包轮番登场,各种编码实践大行其道后又日渐式微。

引言

Python是什么?为何要使用它?官方宣传说:Python是一种面向对象的解释性高级编程语言,具有动态语义

这句话的要点在于,Python是一种知道如何不妨碍你编写程序的编程语言。它让你能够毫无困难地实现所需的功能,还让你能够编写出清晰易懂的程序。

Python广泛用于完成系统管理任务(例如,它是多个Linux发行版的重要组成部分),也被用来向新手介绍编程。

本书是为有志于学习Python编程的人写的,适合从编程门外汉到计算机高手的各种读者阅读。如果你没有任何编程经验,应从第1章开始阅读,阅读到看不懂的内容后,开始动手编写一些程序。等到条件成熟后,再回过头来继续阅读更复杂的内容。

参考实验环境

硬件环境:阿里云主机
操作系统:Ubuntu 22.04(一种Linux稳定发行版)
代码仓库:待开源

第1章 快速上手:基础知识

1.1 交互式解释器

如果你使用的是macOS或Linux,请打开终端,输入python并按回车键。你将看到一条欢迎消息,如下图所示。
在这里插入图片描述
具体的安装步骤视使用的操作系统和安装方式而异,但最简单的方法是访问www.python.org,其中有下载页面的链接。

这是一个交互式Python解释器。请尝试像下面这样做,以核实它是否管用:
在这里插入图片描述
如果你熟悉其他计算机语言,可能习惯了在每行末尾都加上分号。在Python中无需这样做,因为在Python中,一行就是一行

你可能不知道>>>是什么。在Python解释器中,>>>提示符,可在它后面输入一些内容。解释器对其进行处理后,会输出一些反馈信息,然后你可以继续输入。因此,Python解释器就是初学者学习Python最好的老师,因为编程的实践性很强,交互对话式学习是最好的学习方式。

如果随便输入一些东西呢?请看下图。
在这里插入图片描述
显然,解释器没有看懂。解释器还指出了问题出在什么地方,下面逐行解释。

>>> The Spanish Inquisition  ----- 你的输入
  File "<stdin>", line 1  ----- 问题出在输入的第一行
    The Spanish Inquisition ----- 用^标出出错的具体位置
        ^^^^^^^
SyntaxError: invalid syntax ----- 语法错误:无效语法

显然,问题在于语法错误。正如人讲话需要遵循一定的逻辑,与计算机交流也需要遵循一定的语法。

程序运行出错是很正常的事情,对此需要一分为二地看待:计算机的优点在于能提供即时反馈,程序出错会带来挫败感,修复错误的过程具有挑战性,使用计算机成功解决问题很有成就感

1.2 算法是什么

简而言之,计算机编程就是告诉计算机如何做。计算机多才多艺,但不太善于独立思考,我们必须提供详尽的细节,使用它们能够明白的语言将算法提供给它们。算法只不过是流程或菜谱的时髦说法,详尽地描述了如何完成某项任务。正如烹饪需要各种原料和步骤,算法也需要用各种原料和步骤来描述。

下面首先介绍一些非常简单的Python原料,看看可以对它们做些什么。以下表格中的“输入”和“输出”都是相对于Python解释器而言的。

1.3 数和表达式

运算符输入输出
/1/20.5
/1/11.0
//1//20
//1//11
//5.0//2.42.0
%1%21
%10%31
%9%30
%2.75%0.50.25
**2 ** 38
**-3 ** 2-9
**(-3) ** 29

在以上的表格中,斜杠/为实数除,双斜杠//为整除(相当于实数除再去尾),百分号%为取余,**为幂运算。注意,以上运算存在优先级:括号内>幂>乘除>加减。在运算符前后加上空格是很好的编程习惯,有时候适当添加括号可以使语义更加清晰。

有时候我们需要用到十六进制数、八进制数和二进制数,如以下表格所示。

进制前缀输入输出
十六0x0xAF175
0o0x108
0b0b1011010010722

在这里插入图片描述

1.4 变量

变量是表示(或指向)特定值的名称。下面举例说明。

上图中,x=3为赋值语句,x*2为运算表达式。

在这里插入图片描述

不同于其他一些语言,使用Python变量前必须给它赋值,因为Python变量没有默认值。这里体现的原则是:先赋值,后使用

【注意】在Python中,**名称(标识符)**只能由字母、数字和下划线(_)构成,且不能以数字打头。因此Plan9
是合法的变量名,而9Plan不是。

1.5 语句

表达式是一些东西,而语句做一些事情。例如,2*2的结果是4,而print(2 * 2)打印4。表达式和语句的行为很像,因此它们之间的界线可能并非那么明确。
在这里插入图片描述
在交互式解释器中执行时,这两段代码的结果没有任何差别,但这是因为解释器总是将表达式的值打印出来。然而,在Python中,情况并非都是这样的。本章后面将介绍如何创建无需交互式解释器就能运行的程序。仅将诸如2 * 2
等表达式放在程序中不会有任何作用,但在程序中包含print(2 * 2)将打印结果4。

涉及赋值时,语句和表达式的差别更明显:鉴于赋值语句不是表达式,它们没有可供交互式解释器打印的值。
在这里插入图片描述
执行赋值语句后,交互式解释器只是再次显示提示符,但发生了一些变化:有一个名为x的新变量,与值3相关联。可以说,这是所有语句的一个根本特征:执行修改操作。例如,赋值语句改变变量,而print语句改变屏幕的外观。变量就像是临时“存储区”(类似于菜谱中的锅碗瓢盆),其真正威力在于无需知道它们存储的值就能操作它们

例如,即便根本不知道x和y是什么,你也知道x * y的结果为x和y的乘积。因此,编写程序时,你能以各种方式使用变量,而无需知道程序运行时它们将存储(指向)的值。

1.6 获取用户输入

你编写的程序可能供他人使用,无法预测用户会向程序提供什么样的值。

下面看看很有用的函数input。
在这里插入图片描述
下面是一个更有趣的示例。
在这里插入图片描述
对于上述在Python提示符(>>>)下输入的语句,可将其放在完整的程序中,并让用户提供所需的值(34和42)。这样,这个程序将打印结果1428,即前述两个数的乘积。

【注意】将程序存储在独立的文件中,让其他用户能够执行时,这种获取输入的方式将有用得多。1.8节将介绍如何这样做。


http://www.kler.cn/news/361045.html

相关文章:

  • 柔性数组的使用
  • FFT过程中自动补零,补零部分FFT结果不为零
  • mysql8以上版本第一次下载后的登录问题
  • 光纤光学——弱导光纤与线偏振模
  • 百度搜索竞价推广有必要做吗?怎么做效果好!
  • Uboot是如何发现Devicetree并将它传递给Linux的
  • 2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(下)23种设计模式(分值10+)
  • js读取.txt文件内容
  • RIP协议
  • 刷爆leetccode Day5
  • 7-1 大写字母转换为小写字母(C++;cin;cout)
  • 数据库表的创建
  • Spring配置/管理bean-IOC(控制反转) 非常详细!基于XML及其注解!案例分析! 建议复习收藏!
  • 开源图像超分ECBSR项目源码分析
  • L1练习-鸢尾花数据集处理(分类/聚类)
  • STM32CubeIDE(Eclipse)Post-build steps添加带参.exe实现全流程(2):带参调用.exe的几种方法
  • 搭建知识库 | 知识管理在汽车行业中的作用
  • 缓存框架JetCache源码解析-缓存变更通知机制
  • 建库建表练习
  • c语言 atoi 函数的功能和模拟实现
  • YOLO11改进 | 注意力机制 | 正确的 Self-Attention 与 CNN 融合范式,性能速度全面提升【独家创新】
  • 【LVGL快速入门(二)】LVGL开源框架入门教程之框架使用(UI界面设计)
  • 揭秘 Feign 调用机制:微服务通信的无缝集成
  • 信创服务器下搭建nfs共享存储方案
  • spring源码拓展点3之addBeanPostProcesser
  • MIT6.S081 LAB page tables (2024)