Python基础学习笔记
一、变量与运算
在任何程序语言中,最基本的一项功能就是设置变量。 通过对变量的运算,来实现程序功能。
1、变化的量
所谓设置一个变量,也就是设置一个可以变化的量。变量简单理解,就是我们给一个东西的名字。 或者说是为了暂时在计算机中存储一个东西,我们给这个东西取了一个名字。比如如果我们要做文件管理系统, 那么这个系统得有一个名字。
1 | name = "文件管理系统" |
这里的 name 是我们为这个变量设置的名字,而 文件管理系统 则是这个变量 name 中的取值。
在Python中,我们可以用三种方式来标识字符:
第一种是用英文的单引号
第二种是用英文的单引号
第二种是用三个引号(可单/双引)
1 | name = '文件管理系统' |
Q:为什么要使用三个引号呢?使用三个引号有什么好处呢?
A:这种三个引号的在文本量比较多的情况下有一个好处,就是可以书写跨行的文本。
1 | long_text = """ |
Q :如果只用一个引号来写多行文本会有什么问题呢?
A:语法错误,报错内容如下
1 | Traceback (most recent call last): |
在定义多个变量的时候,我们还有一些快捷写法,比如下面这样,等号两边逐个写出变量的值。
1 | name1, name2, name3 = "文件", "系统", "管理" |
或者你想一次性定义多个相同取值的变量,有一个简单的方法。
1 | name1 = name2 = name3 = "文件系统" |
2、打印 Print
1 | print("我的Python最棒~") |
3、数学运算
除了文本数据,我们使用变量还可以记录多种多样的信息。比如数字和列表,字典。 这节主要讲数字和基于数字的基本运算。列表和字典我们留在后面 文件管理系统中,和数字有关的比如文件时间(在后续的datetime详细讲解), 或者是文件版本号,文件数等。这里我们用文件数来过一遍数学运算的知识。
很简单,运用上面变量的知识,你只需要给这个数字一个名字,比如我的系统里有十个文件。
1 | num_of_files = 10 |
这些文件我要分成5组,每组多少个呢?这就是除法了
1 | print("分五组,每组", num_of_files / 5, "个") |
| 运算符 | 描述 | 例子 |
|---|---|---|
| + | 加 | 3+4=7 |
| - | 减 | 3-4=-1 |
| * | 乘 | 3*4=12 |
| / | 除 | 3/2=1.5 |
| % | 取模 | 103%100=3 |
| ** | 幂 | 3**2=9 |
| // | 取整除 | 10//3=3 |
注:字符串也是可以相加的
一些简便的运算写法:常用的及时修改变量的简便写法
1 | a = 1 |
二、判断,数据,循环
条件判断
1、if 如果:if 很好理解,就是判断的基石,如果什么样就做什么。
1 | in_trash = True #在回收站中 |
Q:你可以尝试一下,把上面的in_trash = True改成in_trash = False,看看会有什么样的结果。
A:不打印
下面,我们在 in_trash 前面加上一个 not 来表示 in_trash 的反面,也就是不在垃圾桶里的意思。
1 | in_trash = True |
同样,你可以再尝试一下,把上面的in_trash = False改成in_trash = True,看看会有什么样的结果。
if-else 如果否则
其实,如果又要判断正面又要判断反面的情况,我们完全可以一次性搞定,比如下面使用 if-else 这种结构。 简单明了地就同时判断了正反面应该做的两件不同的事情。
1 | in_trash = True |
判断条件
其实除了 True / False 还有很多其他的间接判断条件。比如下面列出来的这些判断标准。
| 判断 | 含义 |
|---|---|
| a == b | a 是否等于 b |
| a > b | a 是否大于 b |
| a >= b | a 是否大于等于 b |
| a < b | a 是否小于 b |
| a <= b | a 是否小于等于 b |
| a != b | a 是否不等于 b |
如果是文字的话,也可以比较是否等于/不等于,其它那些大于小于都是用于数值判断的。
1 | a, b = "文件1", "文件2" |
1 | print("2 < 3", 2 < 3) |
这些判断都会返回一个 True 后 False 的结果。甚至还可以叠加不同的判断。
1 | print(2 < 3 and 2 < 5) |
附:and or not 的含义
| 判断 | 含义 |
|---|---|
| True and True | 需要两边同时满足才能返回 True |
| True or False | 只要一边是 True 则返回 True |
| not True | 给出相反结果 |
有了这些工具,拿到最终的那个 True / False 后,你就能再套用在 if-else 的结构里啦,将判断依据与判断后的流程联通在一起。
1 | a, b = 1, 2 |
if-elif-else
还有比 if-else 更强大的结构。因为有时候我们还需要多判断一些情况,比如周一要干嘛,周二要干嘛,周三要干嘛等等,这并不是一个非黑即白的判断,而是多重判断连在一起的。 所以我们必然有更好的方式去判断。
1 | today = 4 |
Q:要判断多个数值区间该怎么写呢?
A:
for 和 while 循环
for循环
1 | for item in sequence: |
sequence 为可迭代的对象,item 为序列中的每个对象。
range使用
Python 内置了工厂函数,range 函数将会返回一个序列
1 range(start, stop)
其中 start 将会是序列的起始值,stop为结束值,但是不包括该值,类似 数学中的表达 [start, stop),左边为闭区间,右边为开区间。
1 | for i in range(1, 10): |
上述表达将会返回 1-9 所有整数,但不包含 10
2 range(stop)
如果省略了 start 那么将从 0 开始,相当于 range(0, stop)
3 range(start, stop, step)
step代表的为步长,即相隔的两个值得差值。从start开始,依次增加step的值,直至**等于或者大于**stop
1 | for i in range(0,13, 5): |
将会输出 0, 5, 10。







