导图社区 Python学习
Python基础知识、流程控制及文件的创建和执行
编辑于2020-04-13 16:10:51《中国特色社会主义》复习资料整理,社会主要矛盾 是社会基本矛盾在一定历史阶段的具体表现,反映着这种社会形态在一定发展阶段的最突出的问题。
英语写作万能句子+写作经典句子,内涵每句中文翻译注释,如 There is an old saying______. It's the experience of our forefathers,however,it is correct in many cases even today.
英语写作万能句子,包括常用万能段首句、中间段落句及段尾句,内含每句中文翻译注释,如There are different opinions among people as to ____ .Some people suggest that ____.
社区模板帮助中心,点此进入>>
《中国特色社会主义》复习资料整理,社会主要矛盾 是社会基本矛盾在一定历史阶段的具体表现,反映着这种社会形态在一定发展阶段的最突出的问题。
英语写作万能句子+写作经典句子,内涵每句中文翻译注释,如 There is an old saying______. It's the experience of our forefathers,however,it is correct in many cases even today.
英语写作万能句子,包括常用万能段首句、中间段落句及段尾句,内含每句中文翻译注释,如There are different opinions among people as to ____ .Some people suggest that ____.
Python学习
Python基础知识
数据结构
数据类型
计算机不仅能处理数字之间的运算,也能对文本、图片、音频、视频等数据进行处理。在程序中,每个数据都有自己的数据类型。Python 的数据类型有 int(整数)、float(浮点数)、字符串、布尔值、None、列表、元组、字典、集合等。
整数int
即数学意义上的整数,可以是正整数或负整数,不带小数点。
123456......
浮点数float
浮点数就是小数。所谓浮点,指的是小数的表示形式多变,3.14 可以表示为 0.314 x 10,小数点可以改变位置,故称为浮点数。
3.1415
布尔值
布尔值只有 True 和 False 两种,注意大小写。布尔值通常用来比较和判断。
True
False
空值None
None 在 Python 中是一个特殊的值,表示“无”。注意它与数值 0 不同,0 是一个整数,而 无 表示 什么都没有。
字符串string
用 引号 包裹起来的数据就是字符串。计算机无法识别人类的文字,所以引号的作用就是告诉计算机:我是字符串,不用管里面是什么内容。
字符串用英文引号包裹,单、双引号均可,但要前后配套。
包裹字符串的引号必须前后对应,成对出现。如果字符串中还有引号,要特别注意,如 He said "Today's weather is good.",直接写 print('He said "Today's weather is good."') 就会报错。 因为计算机找到前两个单引号,把之间的内容认定为完整的字符串,后面的s weather is good."'无法识别。正确的写法是,在 Today 后面加入 转义符 \ : print('He said "Today\'s weather is good."') ,在Today后面加入转义字符\,告诉计算机\后面的'是我要打印的内容,不要管。 转义符 \ 还有一个常用形式是和 n 连起来用, \n 代表换行符,就是用 Enter (回车)键敲出来的东西)。
三引号可以直接打印多行内容
字符串索引
字符串是一堆字符的集合,可以通过位置编号,来获得对应的字符。如 'hello_shiyanlou',编号 0 对应第一个字符 h,1 对应第二个字符 e,依次类推。
索引从0开始
在计算机世界中,计数从 0 开始。
负数表示倒数第几个
索引除了是正数,也可以是 负值,表示倒数第几个。比如最后一个字符的索引为 -1,倒数第二个字符的索引为 -2。
注释
可理解为程序的注解、提示,用来帮助他人和自己阅读、理解、编写代码。python中,#常被用作写单行注释,#号后的内容会被忽略,不会被当作代码处理。 注释 对程序员来说非常重要,甚至直接决定了你的寿命……写注释可以帮你理清思路,提高程序的可维护性;如果没有注释,你会连自己的代码都看不懂,而且极可能会被同事、上司打死…… 另外,如果有一些代码暂时不需要被执行,可以先不要删掉它(因为后面可能还会使用),而是使用 # 将其注释掉。这样代码就暂时不会被执行了,之后再需要这段代码时,删掉 # 就好了。
用#单行注释
# 注释可以写在开头:下面要打印“hello shiyanlou” print("hello shiyanlou") print("hello world") # 注释也可以写在后面:这里打印“hello world”
变量
可以将它理解为一个盒子 —— 把常用的数据放在里面,起一个好记的名字,下次用到时可以快速找到它。
等号在Python里的意思是「赋值符」,代表把右边的数据赋值给左边。
例如定义某些变量的代码如下: Level = 1 ATK = 5 HP = 100 左边是「变量名」右边是「数据」
变量中的数据,除了可以是整数,还可以是一段文字
比如: word = 'Hello World!' print(word)
变量的右边,甚至可以是另一个变量
比如: word2 = word print(word2) 上面这段代码的意思是把「word」中的数据,赋值给「word2」这一变量。
函数
print()函数
print('Hello World!') —— 打印 Hello World!
注意:引号可以是单引号,也可以是双引号,但必须是英文符号,且前后一致。
print(1+1)
括号里可以放一定义的变量,如定义name=张三,print(name)会显示张三。如果name没有提前定义,则会报错。
Input() 函数
主要作用是让用户输入某个内容并将内容存进一个变量内。
比如注册时需要填写账号密码,ID=input('请输入你的ID:')
format()函数
format() 是专门用来 格式化字符串 的函数,它最常用的功能就是「插入数据」和「数字格式化」。
插入数据
如果想打印 “你叫xxx,今年x岁了” ,代码该怎么写?有两种写法: print('你叫'+name+',今年' + age + '岁了') 这种方法用 + 号串联打印的内容,虽然可行,但是比较麻烦,而且有局限性。 这时可以使用 format() 函数,实现插入效果,用法如下: print('你叫{},今年{}岁了'.format(name,age)) {} 为占位符,先把这个位置占住,具体数据在后面导入。下图可以更好地理解: 
print('你叫'+name+',今年' + age + '岁了')
print('你叫{},今年{}岁了'.format(name,age))
数字格式化
format() 的第二种常用功能,是格式化数字,比如我们要输出圆周率,但只保留两位小数,可以这么写:print("{:.2f}".format(3.1415926)) 如果要保留三位,则改成 {:.3f};不带小数,则改成 {:.0f},依次类推。
运算符
运算符用于执行程序的运算,最简单的有以下几种:「算术运算符」、「比较运算符」、「赋值运算符」、「逻辑运算符」。
算术运算符
即小学数学中的运算符,最常用的还是「加减乘除余」这五种。
加:+
两个对象相加
减:-
得到负数或是一个数减去另一个数
乘:*
两个数相乘或是返回一个被重复若干次的字符串
除:/
x 除以 y
取模:%
返回除法的余数
幂:**
返回 x 的 y 次幂
取整除://
返回商的整数部分(向下取整)
比较运算符
比较运算符 就是小学课本中的「大于、小于、等于……」,通常用于程序执行 循环和判断 中
等于:==
注意: 在 Python 和大多数高级语言中:一个等号代表赋值符,两个等号才代表数学意义上的“相等”。
比较对象是否相等
不等于:!=
比较两个对象是否不相等
大于:>
返回 x 是否大于 y
小于:<
返回 x 是否小于 y
大于等于:>=
返回 x 是否大于等于 y
小于等于:<=
返回 x 是否小于等于 y
赋值运算符
赋值运算符:=
c = a + b :将 a + b 的运算结果赋值为 c
加法赋值运算符:+=
c += a :等效于 c = c + a
减法赋值运算符:-=
c -= a :等效于 c = c - a
乘法赋值运算符:*=
c *= a :等效于 c = c * a
除法赋值运算符:/=
c /= a :等效于 c = c / a
取模赋值运算符:%=
c %= a :等效于 c = c % a
幂赋值运算符:**=
c **= a :等效于 c = c ** a
取整除赋值运算符://=
c //= a :等效于 c = c // a
逻辑运算符
逻辑运算符,即高中数学中的「 且、或、非 」,Python 中用 and、or、not 表示这三种逻辑。 在逻辑运算中,数字 0 代表 False,1 代表 True。
and(逻辑与):a and b
当 a、b 都为 True 时,返回 True;否则返回 False
or(逻辑或):a or b
当 a、b 任意一个为 True,就返回 True
not(逻辑非):not a
当 a 为 True 时,返回 False;反之亦然
Python的流程控制
「 流程控制 」是一个程序的关键所在。简单的说,「流程控制」就是告诉计算机什么时候该干什么事。比如一个游戏中,你要让计算机清晰地知道 —— 什么情况下会掉血,按下什么键代表攻击,过多久能复活。
条件判断
 例如写一个比大小的游戏,进一步熟悉条件判断的语法: 在终端中输入 gedit compare.py,然后在打开的 gedit 中输入: a = int(input("Please enter a number: ")) ## 让用户输入一个数字,用变量 a 接受 if a > 10: ##如果 a > 10,则执行内部的代码,反之跳过 print('a > 10') ## 特别注意语句块内的空格缩进,请使用 4 个空格缩进。 ## 特别注意语句块内的空格缩进,请使用 4 个空格缩进。 ## 特别注意语句块内的空格缩进,请使用 4 个空格缩进。 elif a == 10: print('a == 10') else: print('a < 10')  保存文件,关闭 gedit 后,在终端中输入 python3 compare.py ,运行刚刚的程序。 
if
if 语句最简单的构成是这样的: if SomethingHappen: DoThisCode 注意:第 1 行末尾的冒号 : 和第 2 行的 4 个空格缩进,原因会在后面详解。
elif
即 else if,方便执行更复杂的判断。
else
更多判断
在程序开发过程中,当遇到一些代码暂时不写(等到后面写),又不想程序在执行时报错的情况,可以使用 pass 关键字,程序执行遇到 pass 就会跳过这里的代码块继续执行后面的代码: 
在一个判断中嵌套另一套判断
比如当男人喜欢上一个人时: 
使用 and 和 or 进行综合控制
 又比如:你今天不想吃饭,除非吃火锅或者烧烤:
循环
 
for循环
for 循环 主要用于,对一个范围内的每个元素,进行指定操作。语法如下:  比如在一个班级里,点名册就是一份列表,每个姓名都是一个元素。现在你是班长,每天上课前的点名太费劲了,你需要一个点名程序。 用for 循环,2 行代码即可实现该功能:  注意:namelist 可以通过右侧工具栏中的「剪切板」粘贴进去;print() 前同样要注意 4 个空格的缩进。
指定次数,循环若干次
适用于 已知循环次数 的循环 
与range()函数使用
如果需要处理一组数字列表,并且数字列表满足一定的规律,可以使用 Python 的内置函数 range()(范围)。 使用 range(x) 函数,可以生成一个从 0 到 x-1 的整数序列,比如我们想打印 0 到 9 的数,可以这样写: for a in range(10): print(a) 还可以用 range(a,b) 取某个区间的数,比如要打印 1 到 10 ,你可以写: for a in range(1,11): print(a) 注意: range(a,b) 包头不包尾,尾数要 + 1 。
while循环
while 后面跟的是一个条件,只要条件满足,这个循环就会一直进行下去。具体语法如下:  用 while 循环,打印 1 到 10 的数字,感受一下 while 循环有哪些不同: a = 1 while a <= 10: ##同样注意冒号和语句块缩进 print(a) a = a + 1 一开始,a 的预设值为 1。 来到第二行的 while 循环,此时 a <= 10,满足条件,进入循环。 进入第三行,执行循环中的命令,打印 a 的值。 进入第四行,把 a 的值加 1 ,a 的值变成了 2,至此一轮循环结束。每轮循环结束后,程序会跳转到循环开头(即图中的第二行),再次判断是否满足循环的条件,如满足则再次执行循环。在这里,a = 2 ,2 <= 10,满足条件,则再次进入循环……直到 a > 10 为止,循环条件不再满足,循环停止。
指定条件,条件满足则一直循环下去
break
break 表示停止当前循环,如: for a in range(10): if a == 5: break print(a) 程序会打印 0 到 4 之间的数字。
停止循环
continue
continue 表示跳过当前循环轮次,去执行下一轮循环。比如想打印 1 到 10 的数,但不想打印 5 ,代码可以这样写: a = 0 while a < 10: a = a + 1 if a == 5: continue print(a)
跳过这轮循环
注意事项(重要!)
if、elif、else 后要加冒号 :,告诉计算机这是一个判断语句,如满足条件,就执行语句块内部的代码。
Python 使用严格的缩进,来区分代码块的执行级别。比如 if 下面的代码要缩进四个空格,代表的是 if 内部的功能;else下面的代码同样要缩进四个空格,代表是else内部的功能。
推荐使用 4 个空格缩进;也可以在编辑器内,把 Tab 键改为四个空格,用 Tab 键缩进。
用 input() 接受到的用户输入,类型为字符串 string,但字符串不能和整数比较大小,所以要用 int() 函数将数据转换为 int 整数类型。
使用 int() 函数,可以把括号里的内容转换为整数,但要注意:只有数字或纯数字的字符串才能转换,如'a'、'abc'这样的内容就不行;float 类型的数字会只保留整数部分。
Python 文件的创建和执行
在开发过程中经常被使用到的 Python 程序,是一个或多个的脚本文件,通常会以 .py 作为文件后缀。当完成脚本的编写后,可以用 Python 解释器来运行 Python 脚本。可以使用 vim、sublime 或 gedit 来编写 Python 程序。
创建和打开文件
这里以 gedit 举例
命令行方式创建
在 Xfce 终端中输入:$ gedit test.py 这行命令的作用是:用 gedit 打开 test.py 文件;如果该文件不存在,则 创建 它并打开。执行命令后,我们看到 gedit 弹了出来,而且文件名是 test.py
在 gedit 中创建
先打开 gedit 程序,再点击菜单栏的 文件-新建,即可创建一个新的空白文件。
保存文件
在 test.py 文件中输入以下的代码内容:print('hello shiyanlou') 输入完成后,按下 ctrl + s 或点击 保存 按钮,即可保存。(如果你是在 gedit 中新建的文件,保存时请输入文件名 test.py,并注意存放路径是否在 home 目录)
执行 Python 文件
保存文件后,先关闭 gedit ,然后打开 Xfce 终端,直接使用 Python3 解释器执行 test.py :$ python3 test.py 可以看到 hello shiyanlou 输出到了屏幕上。