Python的基础(I)

1.python的起源:1991年,吉多-范罗苏姆发布第一个Python解释器,用C语言实现的。
2.编译器:将其他语言翻译成机器语言的工具。它的翻译有两种方式:一个是编译,另一个是解释。
在这里插入图片描述
3.解释器:当编译器以解释方式运行的时候。
4.Python特点:是完全面向对象的语言、拥有强大的标准库、提供大量强大的第三方模块。
5.Python的优点:简单易学、免费开源、面向对象、丰富的库、可扩展性。缺点:运行速度、国内市场较小、资源匮乏。
6.Python源程序是一个特殊格式的文本文件,可以使用任意文本编译软件做Python的开发。
7.Python程序的文件扩展名通常是 .py。
8.Python2.0默认不支持中文;Python2.x的解释器名称是python;Python3.x的解释器名称是python3;
9.执行Python程序的三种方式。
(1)解释器
①Python/python3
Python的解释器
#使用Python2.x解释器—— $ python xxx.py
#使用Python3.x解释器——$ python3 xxx.py
② 其他解释器:
CPython:官方版本的C语言实现
Jython:可以运行在Java平台
IronPython:可以运行在.NET和Mono平台。
pyPy:Python实现的,支持JIT即时编译。
(2)交互式:python
① 优点:适合于学习/验证Python语法或者局部代码。
缺点:代码不能保存、不适合运行太大的程序。
直接退出:exit()
使用热键退出:Ctrl+d
② IPython (I—代表交互 interactive)是基于BSD开源的。
特点:支持自动补全、自动缩进、支持bash shell命令、内置了许多很有用的功能和函数。
Python2.x使用的解释器是ipython
注意:退出方式和(2)相似,只是IPython会询问是否退出解释器。
(3)集成开发环境(IDE)
① 集成开发环境:集成了开发软件需要的所有工具。一般工具包括:图形用户界面、代码编辑器(支持代码补全/自动缩进)、编译器/解释器、调试器(断点/单步执行)
②PyCharm:是Python的一款非常优秀的集成开发环境;除了具有一般IDE所必备功能外,还可以在windows,Linux,macOS下使用;适合开发大型项目。
一个项目通常会包含很多源文件、每个源文件的代码行数是有限的,通常在几百行之内、每个源文件各司其职,共同完成复杂的业务功能。
10.每行代码负责完成一个动作。每行代码前面都不要增加空格。
11. 恢复PyCharm的初始设置
PyCharm的配置信息是保存在用户家目录下的.PyCharmxxxx.x目录下的,xxxx.x表示当前PyCharm的版本号。
恢复PyCharm的初始设置的步骤:关闭正在运行的PyCharm、在终端中执行以下终端命令,删除PyCharm的配置信息目录($ rm -r ~/.PyCharm2016.3)
重新启动PyCharm
12.项目命名规则:命名文件名时只使用小写字母、数字和下划线;不能以数字开头。
13.安装和启动步骤:①解压缩下载后的安装包(tar -zxvf pycharm-professional-2017.1.3.tar.gz)(可在Windows下下载,用U盘复制到乌班图下)②将解压缩后的目录移动到/opt(存放给主机额外安装的软件)目录下,可以方便其他用户使用($ sudo mv pycharm-professional-2017.1.3/ /opt/)。③切换工作目录($ cd /opt/pycharm-2017.1.3/bin)④启动PyCharm($ .pycharm.sh)
14.设置专业版启动图标:tools——Create Desktop Entry
保存快捷方式文件:/usr/share/applications/jetbrains-pycharm.desktop目录
15.卸载PyCharm
①删除解压缩文件:sudo rm -r /opt/pycharm-2016.3.1/
②删除家目录下用于保存配置信息的隐藏目录:rm -r ~/.PyCharm2016.3/
注意:如果不再使用PyCharm还需要将/usr/share/applications/下的jetbrains-pycharm.desktop删除。
16.教育版设置启动图标:$ sudo gedit /usr/share/applicatos/jetbrains-pycharm.desktop
17.注释:
①单行注释(行注释):以#开头,#右边的所有东西都被当做说明文字。在代码后面也可注释。(为了保证代码的可读性,注释和代码之间至少要有两个空格)
②多行注释(块注释):用一对 连续的三个引号(单引号和双引号都可以)。
18.计算机中的三大件:CPU(中央处理器)、内存(临时存储数据)、硬盘(永久存储)。
19.程序执行的原理:①程序运行之前,程序是保存在硬盘中的。②当要运行一个程序时,操作系统会首先让cpu把程序加载到内存中、cpu执行内存中的程序代码。
20.Python程序执行原理:①Cpu把Python解释器的程序复制到内存中②python解释器根据语法规则从上向下让cpu翻译Python程序的代码。③CPU负责执行翻译完成的代码。
21.$ which python :确认解释器所在位置。
$ ls -lh /usr/bin/python :查看Python文件大小(只是一个软链接)
$ ls -lh /usr/bin/python2.7 :查看具体文件大小
注意:建立软链接的目的,是为了方便使用者不用记住使用的解释器是哪一个具体版本。
22. 程序就是用来处理数据的,而变量就是用来存储数据的。
23. 变量定义:变量=值
24. 变量名只有在第一次出现才是定义变量。变量名再次出现,不是定义变量,而是直接使用之前定义过的变量。
25. 变量中存储的值,就是可以变的。
26. python可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型。
27. Python中定义变量是不需要指定类型。
28. 数据类型可以分为数字型和非数字型。
29. 数字型:整型、浮点型、布尔型(真-true-非零即真,假-false-0)、复数型(complex)
30. 非字符型:字符串、列表、元组、字典
31. 在python2.x, 整数根据保存数值的长度还分为:int(整数)、long(长整数)
32. 使用type函数可以查看一个变量的类型。
33. 字符串变量之间可以使用+进行拼接;使用重复拼接相同的字符串;数字型变量和字符串之间不能进行其他计算。
34. 变量的输入:就是用代码获取用户通过键盘输入的信息。
35. 在Python中,如果要获取用户在键盘上输入信息,需要使用到input函数。
36. 函数:提前准备好的功能,可以直接使用,而不用关心内部的细节。
37. print(x):将x输出到控制台;type(x):查看x的变量类型。
38. Input函数实现键盘输入。
①在Python中可以使用input函数从键盘等待用的输入。
②用户输入的任何内容Python都认为是一个字符串。
③字符串变量 = input(“提示信息:”)
39.类型转换函数:int(x):将x转换为一个整数;float(x):将x转换到一个浮点数。
40.字符串之间不能计算乘数。
41.变量的格式化输出:使用print函数将信息输出到控制台。如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符。
①% 被称为格式化操作符,专门用于处理字符串的格式。包含%的字符串,被称为格式化字符串;%和不同的字符连用,不同类型的数据需要使用不同的格式化字符。在这里插入图片描述
42.变量命名
(1)标识符:是程序员定义的变量名、函数名.由字母、下划线和数字组成(不能以数字开头、不能与关键字重名)。
(2) 关键字:具有特殊的功能和含义。
(3)命名规则:为了增加代码的识别和可读性;是区分大小写的。
①在定义变量时,为了保证代码格式,= 的左右应该各保留一个空格。
②在Python中,如果变量名需要由二个或多个单词组成时,可以按照以下方式命名。
a.每个单词都使用小写字母。b.单词由单词之间使用_下划线连接。c.例如:first_name
③驼峰式
43.判断(if)语句(分支语句)
在这里插入图片描述(1)在Python中,if语句就是用来进行判断的,格式:
if 要判断的条件
条件成立时,要做的事情

注意:代码的缩进为一个tab键,或者4个空格-----建议使用空格(在Python开发中,Tab和空格不要混用)。
if语句及 缩进部分是一个完整的代码块。
(2)比较(关系)运算符
在这里插入图片描述
(3)else处理条件不满足
在这里插入图片描述
if和else语句以及各自的缩进部分共同是一个完整的代码块。(ctrl+/:表示多行注释)
44.逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件。
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符。
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件。
Python中的逻辑运算符包括:与and/或or/非not三种。
(1)and
条件1 and 条件2
与/并且:两个条件同时满足,返回True;只要有一个不满足,就返回False。
(2)or
条件1 or 条件2
两个条件只要有一个满足,返回True;两个条件都不满足,返回False。
(3)not(非/不是——取反)
not 条件
45.elif
在开发中,使用if可以判断条件。
使用else可以处理条件不成立的情况,但是,如果希望再增加一些条件,需要执行的代码也不同时,就可以使用elif。
在这里插入图片描述
注意:elif与else都必须和if联合使用,而不能单独使用。
可以将if、elif和else以及各自缩进的代码,看成一个完整的代码块。
46. if的嵌套:在之前条件满足的前提下,再增加额外的判断。
elif:同时判断多个条件,所有的条件是平级的。
tab:增加缩进;shift+tab:减少缩进。
在这里插入图片描述
47.随机数的处理
在python中,要使用随机数,首先需要导入随机数的模块——“工具包”
import random
导入模块后,可以直接在模块名称后面敲一个 . 然后tab键,会提示该模块中包含的所有函数。
random.randint(a,b),返回[a,b]之间的整数,包含a和b。(前面的整数必须小于后面的整数)
48.循环
顺序:从上向下,顺序执行代码。
分支:根据条件判断,决定执行代码的分支。
循环:让特定代码重复执行。
(1)while循环基本使用
循环的作用就是让指定的代码重复的执行。
while循环最常见的应用场景是让执行的代码按照指定的次数重复执行。
while语句基本语法:
在这里插入图片描述
注意:while语句以及缩进部分是一个完整的代码块。
循环结束后,之前定义的计数器条件的数值是依旧存在的。
死循环:由于程序员的原因,忘记在循环内部修改循环的判断条件,导致循环持续执行,无法终止。
49.赋值运算符
(1)在Python中,使用=可以变量赋值。(赋值运算符中间不能使用空格)
在这里插入图片描述
(2)Python中的计数方法
自然计数:从0开始。程序计数:从1开始。
注意:除非需求的特殊要求,否则循环的计数都从0 开始。
(3)循环计算:在程序开发中,利用循环重复计算的需求。
解题思路:①在while上方定义一个变量,用于存放最终计算结果。
②在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量。
break:某一条件满足时,退出循环,不再执行后续重复的代码。
continue:某一条件满足时,不执行后续重复的代码。
50.循环嵌套:
while嵌套就是:while里面还有while。
在这里插入图片描述
52.print函数的增强:
在默认情况下,print函数输出内容之后,会自动在内容末尾增加换行;如果不希望末尾增加换行,可以在print函数输出内容的后面增加 ,end="" (" " 中间可以指定print函数输出内容之后,继续希望显示的内容)
在这里插入图片描述
注意:end="" 表示想控制台输出内容结束之后,不会换行。
53.字符串中的转义字符:
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐。
\n:在控制台输出一个换行符。
制表符:在不使用表格的情况下在垂直方向按列对齐文本。
在这里插入图片描述
54.函数:把具有独立功能的代码块组织为一个小模块,在需要的时候调用。
使用步骤:①定义函数——封装独立的功能。②调用函数——享受封装的成果。
作用:在开发程序时,使用函数可以提高编写的效果以及代码的重用。
(1)函数的定义:
在这里插入图片描述
①def是英文define的缩写。②函数名称应该能够表达函数封装代码的功能,方便后续的调用。③函数名称的命名应该符合标识符的命名规则:可以由字母、下划线、和数字组成;不能以数字开头;不能与关键字重名。
(2)函数调用:通过函数名()即可完成对函数的调用。(不调用函数,函数是不会主动执行的)
(3)快捷键:F8:step over可以单步执行代码,会把函数调用看作是一行代码直接执行。
F7:step into可以单步执行代码,如果是函数,会进入函数内部。(函数)
(4)函数的注释:在定义函数的下方,使用连续的三对引号,在三对引号之间编写对函数的说明文字。(ctrl+Q可以查看函数的说明信息)
注意:因为函数相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行。
(5)函数的参数:在函数名后面的小括号内部填写参数;多个参数之间使用 ,分隔。
参数的作用:①函数:把具有独立功能的代码块组织为一个小模块,在需要的时候调用。②函数的参数,增加函数的通用性,针对相同的数据处理逻辑,能够适应更多的数据。
1,在函数内部,把参数当做变量使用,进行需要的数据处理。2,函数调用时,按照函数定义的参数顺序,把希望在函数内部处理的数据,通过参数传递。
55.形参和实参
形参:定义函数时,小括号中的参数,是用来接收参数用的,在函数内部作为变量使用。
实参:调用函数时,小括号中的参数,用来把数据传递到函数内部用的。
56.函数的返回值:是函数完成工作后,最后给调用者的一个结果。
在函数中使用return关键字可以返回结果。
调用函数一方,可以使用变量来接收函数的返回结果。
注意:return表示返回,后续的代码都不会被执行。
在这里插入图片描述
57.函数的嵌套调用:一个函数里面又调用了另外一个函数。
例如:如果函数test2中,调用了另外一个函数test1.
那么执行到调用test1函数时,会先把函数test1中的任务都执行完。
才会回到test2中调用函数test1的位置,继续执行后续的代码。
在这里插入图片描述
58.使用模块中的函数
模块是Python程序架构的一个核心概念。
模块——工具包(导入Import)——调用方式:模块名.变量/模块名.函数
每一个以扩展名py结尾的Python源代码文件都是一个模块。
在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具。
(1)模块名:也是一个标识符。由字母、下划线和数字组成。(不能以数字开头、不能与关键字重名)
注意:以数字开头是无法在PyCharm中通过导入这个模块的。
59.Pyc文件(了解)
C是compiled编译过的意思。
pyc文件是由Python解释器将模块的源码转换为字节码。
Python这样保存字节码是作为一种启动速度的优化。
模块是Python程序架构的一个核心概念。
字节码:①首先处理源代码,编译生成一个二进制字节码。
②再对字节码进行处理,才会生成CPU能够识别的机器码。
60.高级变量类型
在Python中,所有非数字型变量都支持以下特点:
1.都是一个序列sequence,也可以理解为容器。
2.取值[].
3.遍历 for in。
4.计算长度、最大/最小值、比较、删除。
5.链接+和重复

6.切片。
1).列表:List是Python中使用最频繁的数据类型,在其他语言中通常叫做数组。
专门用于存储一串信息。列表用[]定义,数据之间使用,分隔。列表的索引从0开始。
索引就是数据在列表中的位置编号,索引又可以被称为下标。
注意:从列表中取值时,如果超出索引范围,程序会报错。
在这里插入图片描述
在ipython3中定义一个列表,如:list_list=[]
输入name_list. 按下TAB键,ipython会提示列表能够使用的方法。如下:
在这里插入图片描述
del:关键字本质上是用来将一个变量从内存中删除的。
在这里插入图片描述
2)关键字、函数和方法(科普)
关键字是Python内置的、具有特殊意义的标识符。后面不需要使用括号。
在这里插入图片描述
函数封装了独立功能,可以直接调用:函数名(参数)
方法和函数类似,同样是封装了独立的功能。
方法需要通过对象来调用,表示针对这个对象要做的操作。对象(变量).方法名(参数)
在变量后面输入".",然后选择针对这个变量要执行的操作,记忆起来比函数要简单很多。
循环遍历
遍历就是从头到尾依次从列表中获取数据。
循环体内部针对每一个元素,执行相同的操作。
在Python中为了提高列表的遍历效率,专门提供的迭代Iteration遍历。
使用for就能够实现迭代遍历。

#for循环内部使用的变量in列表
for name in name_list: 
	#循环内部针对列表元素进行操作
	print(name)

例如:

name= ["zhangsan", "lisi", "wangwu", "wangxiaoer"]
for myname in name:
     print("我的名字叫 %s" %myname)

应用场景:
Python列表中可以存储不同类型的数据。
1.列表存储相同类型的数据
2.通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作。
3)元组(Tuple):与列表相似,不同之处在于**元组的元素不能修改。**元组表示多个元素组成的序列;在Python开发中,有特定的应用场景。
用于存储一串信息,数据之间使用,分隔。元组用()定义。
元组的索引从0开始。
索引就是数据在元组中的位置编号:

info_tuple="zhangsan",12,1.23

创建空元组:tuple=()
元组中只包含一个元素时,需要在元素后面添加逗号。

info_tuple=(50,)

常用操作:
在ipython3中定义一个元组,如:info=()
输入info. 按下TAB键,ipython会提示元组能够使用的方法。如下:
在这里插入图片描述
循环遍历
取值就是从元组中获取存储在指定位置的数据。
遍历就是从头到尾依次从元组中获取数据。

#for循环内部使用的变量in元组
for item in info: 
	#循环内部针对元组元素进行操作
	print(item)

在Python中,可以使用for循环所有非数字型类型的变量:列表、元组、字典以及字符串。
提示:在实际开发中,除非能够确认元组中的数据类型,否则针对元组的循环遍历需求并不是很多。
应用场景:
函数的参数和返回值:一个函数可以接收任意多个参数,或者一次返回多个数据。
格式字符串,格式化字符串后面的()本质上就是一个元组。
让列表不可以被修改,以保护数据安全。
info = (“zhangsan”,18)
print("%s 的年龄是 %d" %info)
元组和列表之间的转换:
使用list函数可以把元组转换成列表:list(元组)
使用tuple函数可以把列表转换成元组:tuple(列表)
例如:在这里插入图片描述
4)字典(dictionary):是除列表以外Python之中最灵活的数据类型。可以用来存储多个数据。
通常用于存储描述一个物体的相关信息。
和列表的区别:
列表是有序的对象集合。字典是无序的对象集合。
字典
用{}定义;
使用键值对存储数据,键值对之间使用**,分隔
键key是索引;值value是数据;
键和值之间使用
分隔;
键必须是唯一的;
值可以取任何数据类型,但键只能使用字符串、数字或元组。
在这里插入图片描述
常用操作:
在ipython3中定义一个字典,如:xiaoming={}
输入xiaoming. 按下TAB键,ipython会提示
字典**能够使用的方法。如下:
在这里插入图片描述
循环遍历:就是依次从字典中获取所有键值对:

#for循环内部使用的“key”的变量in字典
for k in xiaoming: 
	#循环内部针对字典元素进行操作
	print("%s:%s"%(k,xiaoming[k]))

提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多。
应用场景:
尽管可以使用for in 遍历字典。
使用多个键值对存储描述一个物体相关信息–描述更复杂的数据信息。
多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理
5)字符串:就是一串字符,是编程语言中表示文本的数据类型。
在Python中可以使用一对双引号**"“或者一对单引号’'定义一个字符串。
可以使用
"或者做字符串的转义,但是在实际开发中:
①如果字符串内部需要使用
”",可以使用’‘定义字符串。
②如果字符串内部需要
’'使用,可以使用"“定义字符串。
可以使用
索引获取一个字符串中指定位置的字符,索引计数从0开始。
也可以使用
for循环遍历字符串中每一个字符。
大多数编程语言都是用
”"来定义字符串。
在这里插入图片描述
常用操作:
在这里插入图片描述
在ipython3中定义一个字典,如:hello=" "
输入hello. 按下TAB键,ipython会提示
字符串**能够使用的方法。如下:
在这里插入图片描述
①判断类型:9个
在这里插入图片描述
②查找和替换:7个
在这里插入图片描述
③大小写转换:5个
在这里插入图片描述
④文本对齐:3个
在这里插入图片描述
⑤去除空白字符:3个
在这里插入图片描述
⑥拆分和连接:5个
在这里插入图片描述
字符串的切片:
切片方法适用于字符串、列表、元组。
切片使用索引值来限定范围,从一个大的字符串中切出小的字符串。
列表和元组都是有序的集合,都能够通过索引值获取到对应的数据。
字典是一个无序的集合,是使用键值对保存数据。
字符串[开始索引:结束索引:步长]
在这里插入图片描述在这里插入图片描述

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值