Python编程基础
一、Python简介
1、Python:是一种函数式的编程语言&面向对象的编程语言,它是一种跨平台的编程语言,这意味着它能够运行在所有主流的操作系统中。
2、核心的设计思想:在Python中,一切皆对象,这个对象可以是函数,也可以是类,也可以是变量。
二、Python语言
语言:解释器+语法规则
1、标识: .exe后缀
2、Python解释器的本质:打开一个文件的内容把文件里面的内容加载到内存中,在内存中的代码运行起来后,反馈给终端用户。
3、Python解释器,它不在乎你是什么后缀的文件,只要你文件里书写的内容符合Python的语法规则,那么它都可以运行起来。(不论是:log.txt、log.php、log.asaff),但在显示的操作中,我们几乎都是以.py为后缀,这样方便我们知道是通过Python语言来编写的。
三、Python基础语法
1、交互式编程
简单来说,就是直接在终端中运行解释器,而不使用文件名的方式来执行文件。
交互式编程不需要创建脚本文件,是通过Python解释器的交互模式来进行编写代码。Python解释器它能对输入的Python代码进行解释和执行,在下图中,我们发现进入解释器后,屏幕最左端会有三个右尖括号。
在cmd命令行中输入Python命令即可启动交互式编程,如下图所示:
2、脚本式编程
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。
我们写一个简单的Python脚本程序。所有Python文件将以.py为扩展名,如下图所示:
3、Python IDE与Python解释器区别?
a、IDE(Integrated Development Environment),全称是集成开发环境,是用于提供程序开发环境的应用程序。使用它可以尽可能地提高效率,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。常见的IDE工具有PyCharm,Visual Studio Code等等。
b、Python解释器,当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单。
c、区别:集成开发环境(IDE)可以去绑定和调用Python解释器进行代码编辑、运行和调试等,但他不等同于解释器。我们配置IDE工具的操作,绝大多数都是在调整我们使用工具的方式,只有对解释器的配置,才是对代码运行环境的调整。
4、Python变量
4.1、变量
变量是可以赋给值的标签,也可以说变量指向特定的值。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 = 用来给变量赋值。
等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值。
message="Hello Python world!"
print(message)
在这里我们添加了一个名为message的变量。每个变量都指向一个值,与该变量相关的信息。在这里,指向的值为文本"Hello Python world!"
下面来进一步扩展这个程序:
可以看出,在程序中可随时修改变量的值,而Python将始终记录变量的最新值。
4.2、变量的命名和使用
a:Python中的变量赋值不需要类型声明。
b:变量名只能包含字母、数字和下划线。变量名只能以字母或下划线打头,但不能以数字打头。可以message_1,但不能将其命名为1_message。
c:变量名不能包含空格,但能是用下划线来分隔其中的单词。可以greeting_message,但变量名greeting message会引发错误。
d:不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。
Python关键字:关键字都有特殊的含义,如果将它们用作变量名,将引发错误:
Python内置函数:将内置函数名用作变量名时,不会导致错误,但将覆盖这些函数的行为:
内置函数:共69个:32个+37个
e:变量名应既简短又具有描述性。例如name比n好。
f:慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
g:就目前而言,应使用小写的Python变量名。大写字母在变量名中有特殊的含义。
4.3、骆驼式命名法(Camel-Case)又称驼峰式命名法,
a、小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如:int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
b、大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,命名空间等。譬如public class DataBaseUser;
变量DataBaseUser的每一个单词的首字母都是大写。
4.4、同时给多个变量赋值
x,y,z=0,0,0
这样做时,需要用逗号将变量名分开;对于要赋给变量的量,也需同样处理。Python将按顺序将每个值赋给对应的变量。只要变量和值的个数相同,Python就能正确地将他们关联起来。
5、Python里变量的生命周期
变量的生命周期:变量定义后,不会在内存中分配内存地址,只有在变量调用的时候会分配内存地址,变量调用结束后,分配的内存地址也会消失,其中查看对象的内存地址使用的是函数:id(),如下图所示:
6、常量
常量类似于变量,但其值在程序的整个生命周期内保持不变。Python没有内置的常量类型,但Python程序员会使用全大写来指出应将某个变量视为常量,其值应始终不变:MAX_CONNECTIONS=5000
7、数中的下划线
书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:
8、Python注释如下图所示:
9、Python里的输入输出以及换行如下图所示:
10、查看对象的数据类型使用的函数是:type(),如下图所示:
从而也发现,如果不进行强制类型转换的话,在Python中所有的输入都是str类型!!
11、Python里常用的数据类型
a、字符串:str,例如姓名,地址等
b、整型:int,例如年龄,也就是这个变量是单纯的数字
在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。
在Python中,使用两个乘号(**)表示乘方运算。
c、float:存储的变量是带有数字的小数点,例如薪资。
将任意两个数相除时,结果总是浮点数,即便这两个数都是整数且能整除。
在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数。
d、bool:True/False:存储的变量表示的是真或者是假,而且这两个首字母必须是大写的
12、强制类型转化,如下图所示:
13、字符串
a:字符串的格式化
%s:字符串,也是万能的
%d:整型
%f:浮点型
python字符串格式化的意思就是在字符串中使用变量,通常用format函数格式化字符串的用法。
为什么要在Python中要字符串格式化?
因为在python中我们会遇到一个问题,问题是如何输出格式化的字符串。我们经常会输出类似"各位xx辖区市民:为切实保障人民群众身体健康和生命安全,xx区疫情防控指挥部决定于xx月xx日上午xx"而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。在python中,我们用传统的%或者{}实现格式化字符串。
在有些情况下,你可能想在字符串中使用变量的值。例如,使用两个变量分别表示名和姓,然后合并这两个值以显示姓名:
14、字符串方法
针对字符串的各种方法的操作,是专门有一个str的类。
a:如何查看字符串有哪些可以使用以及查看对象有哪些可以调用的方法,使用的关键字是dir()
其中,dir()是最权威的,它可以应用于其他库中,可以查看哪些方法供我们调用。如下图所示:
或者,选中要查询的函数,使用快捷键“Ctrl+鼠标左键”,结果如下图所示:
跳转到如下界面:
b:获取对象的长度:len()函数,如下图所示:
c:把小写转换为大写:.upper()函数,如下图所示:
d:判断是不是大写,is是判断:.isupper(),如下图所示:
e:把大写转换为小写:.lower()函数,如下图所示:
f:.title():以首字母大写的方式显示
在name.title()中,name后面的(.)让Python对变量name执行方法title()指定的操作。
g:判断是不是小写,is是判断:.islower()函数,如下图所示:
h:判断字符串以什么开头:.startswith()函数,如下图所示:
i:判断字符串以什么结尾:.endswith()函数,如下图所示:
j:判断字符串里是不是数字:.isdigit()函数,如下图所示:
k:字符串的替换:.replace("旧","新")函数,如下图所示:
l:查看某个字符串的个数:.count()函数,如下图所示:
m:查看字符串里面对象的索引,是线性查找的思路:.index()函数,所谓线性查找是指计算机一旦检索到了该对象,就停止再去检索该对象第二、三、四....次出现,如下图所示:
n:字符串的拆分:.split()函数,它的数据类型是列表,如下图所示:
以“-”为拆分对象:
o:以“#”为拆分对象:
p:字符串的合并:.join()函数,它的数据类型为str,如下图所示:
q:字符串的取消空格:.strip()函数,如下图所示:
r:字符串的查找索引,也是线性方式查找:.find()函数,如下图所示:
15、使用制表符或换行符来添加空白
空白:泛指任何非打印字符,如空格、制表符和换行符。
16、Python循环语句
(1)for循环的三种遍历方式
NO1:for … in … :
作用是在每一次的循环中,依次将in关键字后面序列变量的一个元素赋值给for关键字后的变量。
注意:
a、循环的次数是由字符串的长度决定的,上图的长度是6。
b、这里"letter"是变量,可以用任何字母来代替它,“for”和“in”是关键字。
NO2:for … in range():
a:range(a, b,c) 函数中,a、b分别为遍历的左右区间的数值(左闭右开,即从a开始到b-1结束),c为遍历的步长。
一般只写b,默认a=0、c=1,即range(10)取0到9的所有数。如下图所示:
等价于下图:
b:如果只给a和b赋值,那么c就会默认为c=1,如下图所示:
等价于下图:
c:如果给a和b和c都赋值,并且让c=2,如下图所示:
NO3:for … in enumerate():
for … in enumerate():结合了上面两种遍历方法,拥有二者的全部功能。
注:for a, b in enumerate(str1): 方式需要同时对a,b两个变量同时赋值,a赋值为str1当前元素的下标,b赋值为str1当前的元素,如下图所示:
(2)while循环
for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不满足为止。
a:如果使用while循环,只要条件为真,我们就可以执行一组语句,如下图所示:
b:while Ture循环语句
while True即意思是要一直进行loop(死循环)。如下图所示:
通常while true循环中会加入break条件判断用以在循环内部的某个条件达成时终止循环,否则会一直循环下去的。如下图所示:
注意:在任何Python循环中都可以使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环。
c:continue语句
continue语句跳出本次循环,而break跳出整个循环。
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
continue语句用在while和for循环中。
17、Python逻辑条件
在Python中,可以使用if-else语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构,这种结构非常适合用于让Python执行两种操作之一的情形。
在Python中,我们经常需要检查超过两个的情形,此时可以使用if-elif-else语句。它依次检查每个条件测试,直到遇到了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。
对语法格式的说明:
“代码块”由具由相同缩进量的若干条语句组成。Python是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。
if、elif、else 语句的最后都有冒号":",不要忘记。
如果只想执行一个代码块,就使用if-elif-else结构;如果要执行多个代码块,就使用一系列独立的if语句。
a:if、elif和else后面的代码块一定要缩进,而且缩进量要大于if、elif和else本身。例如,下图就是一个没有缩进的代码:
正确的做法,如下图所示:
18、逻辑语句和循环语句综合练习
19、debug调试(了解即可)
打断点的方式来调试的步骤:
1.添加断点:直接在标记处点击鼠标左键。取消断点时,在同一个位置处点击即可。如果断点所在行代码变粉红,表示,断点已经处于该行代码,但是并未执行,如下图所示:
2.利用Debug运行代码(点击鼠标右键点击七星瓢虫图标即可),如图所示:
3.根据所需进行代码调试,此时,在pycharm主页面的下方窗口出现2个选项(Debugger 、Console),Debug的调试方式如下所示:
调试的过程之一如下: