Python编程语言基础

2023年7月3日13:05:38

本博客为本人学习Python编程语言基础时所做的笔记。
学习渠道:
①廖雪峰的Python基础教程
②中国大学MOOC北京理工大学Python程序设计
③《Python数据结构与算法》([美]Michael T. Goodrich 、Roberto Tamassia、 Michael H. Goldwasser)
谁能看?
1、对想入门Python的人。
2、有一定的其他语言编程基础(如C、C++、Java、R、VB等)
PS:老鸽子一只,随缘更新~

第一章:Python简介

一、Python语言开发工具的选择

1、IDLE:是一个纯 Python 下使用 Tkinter 编写的相当基本的 IDE,具备基本的IDE的功能,是非商业Python开发的不错的选择。
2、Notepad++:是 Windows操作系统下的一套文本编辑器,有完整的中文化接口及支持多国语言编写的功能(UTF8技术)。
3、PyCharm:是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
4、PyDev & Eclipse:Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
5、Visual Studio:开源IDE工具。
6、Anaconda & Spyder:Anaconda适用于科学计算和数据分析,开源免费。
7、Canopy:适用于科学计算和数据分析。
我目前在用的是IDLE和Pycharm。

引用链接:
https://www.cnblogs.com/ttliu/articles/8028184.html
https://www.oschina.net/p/eclipse?hmsr=aladdin1e1

二、Python的安装

1、进入Python官网:https://www.python.org/
2、在Download下选择自己的操作系统,这里以Windows为例。
Python编程语言基础
3、选择合适的Python版本,这里以3.9.0为例。
Python编程语言基础
4、如果操作系统是32位的,选择“Download Windows x86 executable installer”,如果操作系统是64位的,选择“Download Windows x86-64 executable installer”。

5、下载完成后,打开exe文件,注意一定要勾选“Add Python 3.9 to PATH"选项!然后就可以点击“Install Now”安装了。
Python编程语言基础
6、安装之后可以打开IDLE了(本人安装的是3.8版本)
Python编程语言基础
7、试着输出以下语句print("Hello Python!"),应该会有如下运行结果:
Python编程语言基础
8、在File中选择“New File”
Python编程语言基础
在新窗口中输入

a = input()
print(a)

然后按F5,保存文件后运行。
随意输入一个东西,看看程序是不是原样输出了它。
Python编程语言基础
至此,Python 安装完毕,以后你都可以使用IDLE进行编程。

第二章:Python基本语法元素

一、保留字

保留字是Python语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。例如保留字中if表示“如果”,这就要求我们在给变量命名时不能使用“if”。
接下来简要介绍以下Python的保留字。
and——用于表达式运算,逻辑与操作
as——用于类型转换
assert——断言,用于判断变量或条件表达式的值是否为真
break——中断循环语句的执行
class——用于定义类
continue——继续执行下一次循环
def——用于定义函数或方法
del——删除变量或者序列的值
elif——条件语句,与if else结合使用
else——条件语句 条件语句,与if、elif结合使用。也可以用于异常和循环使用
except——包括捕获异常后的操作代码,与try、finally结合使用
exec——用于执行python语句
for——循环语句
finally——用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用
from——用于导入模块,与import结合使用
global——定义全局变量
if——条件语句,与else、elif结合使用
import——用于导入模块,与from 结合使用
in——判断变量是否存在序列中
is——判断变量是否为某个类的实例
lambda——定义匿名函数
not——用于表达式运算,逻辑非操作
or——用于表达式运算,逻辑或操作
pass——空的类、函数、方法的占位符
print——打印语句
raise——异常抛出操作
return——用于从函数返回计算结果
try——包含可能会出现异常的语句,与except、finally结合使用
while——循环语句
with——简化Python的语句
yield——用于从函数依次返回值

引用链接:
https://blog.csdn.net/iamlearner/article/details/79678464

二、基本数据类型和变量

1、数字类型
包括整型和浮点型,整型即整数类型,它用int来表示。浮点型即小数类型,它用float来表示。
数字类型的运算符:
“+”:用于两个数字类型相加。
“-”:用于两个数字类型相减。
“*”:用于两个数字类型相乘。
“/”:用于两个数字类型相除,其结果必为浮点型。
“//”:用于两个数字类型相整除(向下取整),其结果必为整型。
“%”:用于两个数字类型取余,如8%3=2。
不同的数字类型运算,浮点型会覆盖整型。如100.12 × 200 = 20024.0。

2、字符类型
包括字符型和字符串型,字符型用chr表示,字符串型用str表示。
字符编码:
(1)在Python3.0及以上版本中,字符串是以Unicode编码的,支持多语言。
(2)对于单个字符的编码,Python提供了ord函数获取编码,或chr函数将编码转换为字符:

>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'

(3)字符串类型的操作
Python编程语言基础
Python编程语言基础
Python编程语言基础
3、布尔类型
真为True,假为False,为逻辑运算值。
布尔类型的运算:
and:A and B,只要A、B其中有一个为False,A and B就为False。
or: A or B,只要A、B其中有一个为True,A or B就为True。
not: not A,将A的逻辑值取反。

4、空值
用None表示,空值不是0,因为0是有意义的。

5、变量
如3中的A、B,就是变量。变量的命名规则为:
(1)必须以字母、下划线开头,后面可以跟任意数目的字母、数字和下画线下划线。此处的字母并不局限于 26 个英文字母,可以包含中文字符、日文字符等。
(2)由于 Python 3 支持 UTF-8 字符集,因此 Python 3 的标识符可以使用 UTF-8 所能表示的多种语言的字符。Python 语言是区分大小写的,因此 abc 和 Abc 是两个不同的标识符。
(3)命名时不能使用保留字。

变量可以是任何类型,Python中的变量类型是动态的,即不需要声明其类型,但是如果在某些条件下由于类型没有声明而造成TypeError,这时就需要用函数来对其声明类型。

a = 3.14159265
print(int(a))#把a强制转换为整型

6、注释
在写代码时,有时为了解释一些东西(比如你写的一长串判断语句是为了判断什么,或者写了一个函数是什么功能,或者定义了一个变量是用来干嘛的),可以在其之后写注释。只要在注释语句前加入#号就可。

三、输入和输出

1、Python的输出
Python用print()函数进行输出,如:

>>> print("123456")
123456
>>> print(1+2)
3
>>> print("1+2")
1+2

但是问题来了,假设你存有一个数据库,上面有每个人的名字以及他的分数,现在你要输出“Hello,(他的名字),your score is (他的分数)",应该怎么做到呢?看以下例子:

>>> print("Hello, %s, your score is %d."%("Bob",99))
Hello, Bob, your score is 99.

这时你只需要修改%之后的内容就可以了。

除此之外,还有一个方法,就是用format。

>>> print("Hello, {}, your score is {}.".format("Bob",99))
Hello, Bob, your score is 99.

format有更强的格式控制方法。
Python编程语言基础
Python编程语言基础
Python编程语言基础
2、Python的输入
Python的输入一般通过input()函数。
如:

a = input()
b = a + 3
print(b)

当你试着去运行程序,发现报错了。原因是input函数从键盘上输入的语句会用做str型,所以这时要用int()函数进行强制类型转换。

a = int(input())
b = a + 3
print(b)

运行结果:
Python编程语言基础
我们再试试运行以下代码:

a = input()
b = input()
print(a + b)

上面提到,input()读取的东西是字符串,两个字符串能相加吗?在Python里是可以的,相当于把两个字符串连接起来。
Python编程语言基础
接下来再思考一个问题,我在一行上输入两个数字,以空格分隔,希望input()能直接读取并赋值给两个变量,应该怎么做呢?

例如:我想把输入“12 13”并赋值给a和b。
这时应该用到分隔函数split()

a,b = input().split()
print(a+b)

运行结果:
Python编程语言基础
再者,如果是逗号呢?例如:

a,b,c,d = input().split(',')
print(a+b+c+d)

运行结果:
Python编程语言基础
split()内可添加一个字符,用于表示它是以这个字符来分割输入语句。

四、组合数据类型

1、list类型
也叫列表类型。如下图,定义一个列表类型:

L = [1,2,3,4,5]
print(L)

运行结果:
Python编程语言基础
列表类型类似于C语言里的数组。其中1,2,3,4,5分别是列表里的第0,1,2,3,4个成员,可以通过L[i]来访问列表的第i个成员(注意是从0开始的)

L = [1,2,3,4,5]
print(L[2])

运行结果:
Python编程语言基础
将字符串类型转化为列表型,可以用list()函数,它会把每个字符作为列表中的元素。例如

L = list(input()) #别忘了input()得到的是str类型
print(L)

运行结果:

Python编程语言基础

下面是list类型的一些常用操作:
Python编程语言基础
Python编程语言基础

2、tuple类型
也叫元组类型,与list类型不同之处在于,它一旦被创建就不能被更改,只能访问。

T = (1,2,3,4,5)
print(T)

运行结果:
Python编程语言基础
此时以下命令会报错:

T[2] = -3 #修改tuple的元素

运行结果:

Python编程语言基础
同样可以使用tuple()函数把字符串转化为元组类型

T = tuple(input())
print(T)

运行结果:

Python编程语言基础
元组类型的其他操作:(这些操作同样能应用于列表类型)

Python编程语言基础
Python编程语言基础

3、set类型
也叫集合类型,与列表和元组类型的不同之处在于,集合类型中每个元素必须互异。(即数学里提到的集合的互异性)

S = {1,2,3,4,5,1,1,2,2,3,3,3,4,4,5}
print(S)

运行结果:

Python编程语言基础
同样可以把字符串类型转化为集合类型。

S = set(input())
print(S)

运行结果:

Python编程语言基础
集合类型的操作:

Python编程语言基础
Python编程语言基础
Python编程语言基础
Python编程语言基础

4、dict类型
又叫字典类型或映射类型。类型中的每一个元素都由一对键值对构成,每一对键值对由一个键和一个值构成。例如:

D = { 'a': 'Alice', 'b': 'Bob', 'c': 'Cindy' }
print(D['a'])

运行结果:
Python编程语言基础
D是一个dict类型,其中’a’、‘b’、'c’是字典的键,‘Alice’、‘bob’、'Cindy’是每个键对应的值,键和值可以是数字类型、字符类型,但是使用字符类型是要添加单引号或双引号。
再举一个例子,比如Score是一个字典类型,它存储了一个学生的语文、数学和英语成绩。

Score = { "Chinese": 99, "Math": 100, "English": 98 }
print("Please input the subject you want to search: ")
S = input()
print("Your {} score is {}.".format(S, Score[S]))

运行结果:

Python编程语言基础
当然此代码的健壮性很差,如果输入了不是键中的字符串,就会报错。

字典类型的常用操作:

Python编程语言基础
Python编程语言基础

五、三大基本语句

1、顺序语句
如下代码即顺序语句,它是直接一连串运行下去的。

a = int(input())
b = int(input())
print(a + b)
print(a - b)
print(a * b)
print(a / b)

2、条件语句
如下面:

#判断闰年
year = int(input())
if year % 4 == 0 and year % 100 == 0:
	if year % 400 == 0:
		print("Yes")
	else:
		print("No")
elif year % 4 == 0 and year % 100 != 0:
	print("Yes")
else:
	print("No")
	

python的条件控制语句有三个保留字:if、elif和else,其中if和elif后面必须跟上条件,else后面不能跟上任何条件。

3、循环语句
如下面:

#计算从1到100的和。
Sum = 0
i = 1
while i <= 100:
	Sum = Sum + i
	i = i + 1
print(Sum)

当while后面的条件满足时,就一直进入循环体。
break和continue保留字:break是结束循环,continue是跳过本次循环。如下面:

#列举1-100内的所有偶数
i = 1
while True:
	if i > 100:
		break
	i = i + 1
	if i % 2 != 0:
		continue
	print(i)

①当i大于100时,退出循环,break之后的语句都不执行。
②当i为奇数时,跳过本次循环,continue之后的语句都不执行。
③输出i

除此之外,还有for…in…迭代法

#计算从1到100的和
Sum = 0
for i in range(1, 101):
	Sum += i
print(Sum)

range(1, 101)是一个迭代器,每次调用就返回前一个数+1,这个在高级特性上会细说。目前你可以先把range(1, 101)看成一个list类型,它的元素为从1到100的正整数。每一次调用for…in…语句,就把相应的数值传给i,直到取完为止。下面这个实例有助于你的理解:

DList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in DList:
	print(i)

输出结果如下:
1
2
3
4
5
6
7
8
9
10

所以,for…in…语句的重复次数取决于DList的元素个数。

第三章:函数

一、函数

Python中内置和很多函数,例如前面我们见到过的:
int(x) :将x转化为整型。
str(x) :将x转化为字符串型。
除此之外还有很多:
abs(x) :求x的绝对值。
max(x) :返回x中的最大值。
sum(x) :返回x中所有元素的和。

二、定义函数

定义函数需要用到Python中的保留字def,并且函数体相较于def语句要缩进一个Tab(四个空格),例如:

def demo_function(x):
	return x * x

这个函数实现的功能是:传入一个整型变量,返回该变量的平方值,例如:

x = 2
print(demo_function(x))

程序输出的是4(2的平方)

第四章:Python高级特性

第五章:函数式编程

第六章:面向对象程序设计

  • 作者:Kim Jisso
  • 原文链接:https://blog.csdn.net/Kim_Jisso/article/details/109704279
    更新时间:2023年7月3日13:05:38 ,共 6463 字。