快速学习Python基础知识详细图文教程1--变量和数据类型
2026/7/12 20:15:41 网站建设 项目流程

来源引用网络知识与某站曹老师视频相互结合学习记录,仅供参考!

Python简介

百度百科

Python 是一门优雅而健壮的编程语言,由荷兰国家数学与计算机科学研究中心的吉多·范罗苏姆于1990年代初设计,作为ABC语言的替代品,它继承了传统编译语言的强大性和通用性,同时也借鉴了脚本语言和解释语言的易用性,是一种解释型脚本语言。Guido van Rossum在1995年于国家创新研究公司(CNRI)继续他在Python上的工作,2001年Python软件基金会(PSF)成立。

Python被设计成是 “符合大脑思维习惯” 的,采用极简主义的设计理念,加以统一规范的交互模式。这使得Python易于学习、理解和记忆。Python 开发者的哲学是 “用一种方法,最好是只有一种方法来做一件事”。它提供高效的数据结构、动态类型及面向对象编程特性,适用于脚本编写与快速开发。对于科研而言,Python的应用非常广泛。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

Python 2于2000年发布,Python 3于2008年发布且不完全兼容前代。 该语言已成为受欢迎的程序设计语言之一,其使用率自2004年起呈线性增长,广泛应用于Web开发、科学计算、金融分析、自动化等领域。

Python 基础知识

推荐书籍:Python 核心编程

推荐工具:PyCharm(环境搭建--Python-PyCharm)、Visual Studio Code 等等(烦请自行选择)

一、变量和简单类型

变量

无论使用什么语言编程,总要处理数据,处理数据就需要使用变量来保存数据;变量就像一个个小容器,用于“盛装”程序中的数据。

在 Python 中有以下六种数据类型:

数字、字符串、列表、字典、元组、集合;

数字类型又分四种小类:整数、浮点数、复数、布尔类型。

类型

描述

说明

数字(Number)

整数(int)

整数(int),例如:50、-50

浮点数(float)

浮点数(float),例如:13.14、-13.14

复数(complex)

复数(complex),例如:5+3j,以 j 结尾表示复数

布尔(bool)

布尔(bool),即真 True 数字记作 1 和假 False 0

字符串(String)

描述文本的一种数据类型

字符串由任意数量的字符组成

列表(List)

有序的可变序列

python 中使用最频繁的数据类型,可有序记录一堆数据

元组(Tuple)

有序的不可变序列

可有序记录一堆不可变的 Python 数据集合

集合(Set)

无序不重复集合

可无序记录一堆不重复的 Python 数据集合

字典(Dictionary)

无序 Key-Value 集合

可无序记录一堆 Key-Value 的 Python 数据集合

变量的定义方式

变量名称 = 变量的值

(“=”等号是赋值符号,意思是把右侧的值赋值给左侧变量)

变量的数据是可以变化的,重新给变量赋值即可;

PyCharm 工具快捷键 Ctrl+Alt+L 重新设置代码格式

注释

注释:对程序代码进行解释说明的文字;

可以用来解释程序某些部分的作用和功能,提高程序的可读性。

注释分为单行注释和多行注释:

单行注释

python 使用 # (井号)表示单行注释的开始,跟在“#”号后面直到这行结束为止的代码都将被解释器忽略。

多行注释

多行注释是指一次性将程序中的多行代码注释掉,在 python 程序中使用三个单引号或三个双引号将注释的内容括起来。

数据类型

python 是弱类型语言,变量的类型是可以改变的;

变量定义成功后,可以使用 type(() 方法来查看变量的类型;

Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可;

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数

描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个 (key, value)元组序列。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

变量的命名规则

Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。python 语言的标识符必须以字母、下划线 _ 开头,后面可以跟任意数量的字母、数字、下划线;这里的字母并不局限于 26 个英文字母,可以包含中文字符(可以是中文,不报错),不过不推荐。

在使用标识符时,需要注意以下规则:

1、标识符可以由字母、数字、下划线组成,但是不能由数字开头;

2、标识符不能是 python 关键字;

3、标识符不能包含空格;

python 常用关键字

系统有一些常用关键字不可以用来当作标识符。

and

lambda

except

while

del

return

import

or

class

try

if

assert

yield

as

in

def

finally

else

True

continue

from

is

global

raise

elif

False

pass

not

nonlocal

with

for

None

break

运算符

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等等;

赋值运算符

赋值运算符用于为变量或常量指定值,python 中使用“=”(一个等号)作为赋值运算符;通常使用赋值运算符将表达式的值赋给另一个变量。

算数运算符

python 支持所有的基本算数运算符,这些算数运算符用于执行基本的数学运算,例如加、减、乘、除和求余、取模等等。

运算符

描述

示例(a=10,b=21)

+

加:两个对象相加

a + b 输出结果 31

-

减:得到负数或是一个数减去另一数

a - b 输出结果 -11

*

乘:两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果 210

/

除:x 除以 y

b / a 输出结果 2.1

%

取模:返回除法的余数

b % a 输出结果 1

**

幂:返回 x 的 y 次方幂

a ** b 输出结果为 10 的 21 次方

//

取整除:返回商的整数部分

9 // 2 输出结果 4,9.0 // 2.0 输出结果 4.0

a = 10 b = 21 print("a+b=", a + b) print("a-b=", a - b) print("a*b=", a * b) print("b/a=", b / a) print("b%a=", b % a) print("a**b=", a ** b) print("b//a=", b // a) print("9//2=", 9 // 2) print("9.0//2.0=", 9.0 // 2.0) 运行结果 a+b= 31 a-b= -11 a*b= 210 b/a= 2.1 b%a= 1 a**b= 1000000000000000000000 b//a= 2 9//2= 4 9.0//2.0= 4.0
扩展后的赋值运算符

运算符

描述

示例(a=10,b=21,c=21)

=

简单的赋值运算符

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算术运算符

运算符

描述

实例(假设变量 a=10,b=21)

+

加 -- 两个对象相加

a + b 输出结果 31

-

减 -- 得到负数或是一个数减去另一个数

a - b 输出结果 -11

*

乘 -- 两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果 210

/

除 -- x 除以 y

b / a 输出结果 2.1

%

取模 -- 返回除法的余数

b % a 输出结果 1

**

幂 -- 返回x的y次幂

a**b 为10的21次方

//

取整除 -- 往小的方向取整数

>>> 9//2 4 >>> -9//2 -5
Python 比较(关系)运算符

运算符

描述

实例(假设变量 a=10,b=20)

==

等于 -- 比较对象是否相等

(a == b) 返回 False。

!=

不等于 -- 比较两个对象是否不相等

(a != b) 返回 True。

>

大于 -- 返回x是否大于y

(a > b) 返回 False。

<

小于 -- 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。

(a < b) 返回 True。

>=

大于等于 -- 返回x是否大于等于y。

(a >= b) 返回 False。

<=

小于等于 -- 返回x是否小于等于y。

(a <= b) 返回 True。

==

等于 -- 比较对象是否相等

(a == b) 返回 False。

Python赋值运算符

运算符

描述

实例(假设变量 a=10,b=20)

=

简单的赋值运算符

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

:=

海象运算符,这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。

Python3.8 版本新增运算符。在这个示例中,赋值表达式可以避免调用 len() 两次:

if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")
Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011

运算符

描述

实例(假设变量 a=60=00111100,b=13=00001101)

&

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

(a & b) 输出结果 12 ,二进制解释: 0000 1100

|

按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

(a | b) 输出结果 61 ,二进制解释: 0011 1101

^

按位异或运算符:当两对应的二进位相异时,结果为1

(a ^ b) 输出结果 49 ,二进制解释: 0011 0001

~

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1

(~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

<<

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

a << 2 输出结果 240 ,二进制解释: 1111 0000

>>

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

a >> 2 输出结果 15 ,二进制解释: 0000 1111

Python逻辑运算符

Python语言支持逻辑运算符;

运算符

逻辑表达式

描述

实例(a=10,b=20)

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。

(a and b) 返回 20。

or

x or y

布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符

描述

实例

in

如果在指定的序列中找到值返回 True,否则返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in

如果在指定的序列中没有找到值返回 True,否则返回 False。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

Python身份运算符

身份运算符用于比较两个对象的存储单元

运算符

描述

实例

is

is 是判断两个标识符是不是引用自一个对象

x is y, 类似id(x) == id(y), 如果引用的是同一个对象则返回 True,否则返回 False

is not

is not 是判断两个标识符是不是引用自不同对象

x is not y, 类似id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

注:id() 函数用于获取对象内存地址。

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):

运算符

描述

(expressions...),

[expressions...],{key: value...},{expressions...}

圆括号的表达式

x[index],x[index:index],x(arguments...),x.attribute

读取,切片,调用,属性引用

await x

await 表达式

**

乘方(指数)

+x,-x,~x

正,负,按位非 NOT

*,@,/,//,%

乘,矩阵乘,除,整除,取余

+,-

加和减

<<,>>

移位

&

按位与 AND

^

按位异或 XOR

|

按位或 OR

in,not in, is,is not, <, <=, >, >=, !=, ==

比较运算,包括成员检测和标识号检测

not x

逻辑非 NOT

and

逻辑与 AND

or

逻辑或 OR

if--else

条件表达式

lambda

lambda 表达式

:=

赋值表达式

字符串

字符串的意思就是“一串字符”,python 中要求字符串必须使用引号(单引号、双引号、三引号)括起来,需要两边的引号能配对;

str1 = "python" str2 = 'pycharm' print(str1) print(str2) 运行结果 python pycharm
字符串定义和转义字符

例如:定义的字符串里面含有单引号或者双引号,对于这种情况,有两种解决方案:

1、使用不同的引号将字符串括起来;

2、通过使用 \ 对引号进行转义;

str1 = "python '520'" str2 = 'pycharm "521"' str3 = 'pycharm \'1314\'' print(str1) print(str2) print(str3) 运行结果 python '520' pycharm "521" pycharm '1314'

长字符串的定义

长字符串的写法是使用三个引号(单引号或者双引号),在长字符串中可以放置任意内容,包括放置单引号、双引号等等,若所定义的长字符串没有赋值给任何变量,那么这个长字符串就相当于是一个多行注释,被注释掉了,会被 python 解释器忽略。

str1 = """ 《静夜思》 李白 床前明月光, 疑是地上霜。 举头望明月, 低头思故乡。 """ print(str1)
字符串拼接

在 python 中,使用“+”加号作为字符串的拼接运算符;

str1 = "python" str2 = 'pycharm' print("str1:" + str1 + ",str2:" + str2) 运行结果 str1:python,str2:pycharm

有时需要将字符串与数值进行拼接,而 python 中不允许直接拼接数值和字符串,程序必须先将数值转化成字符串;为了将数值转换成字符串,可以使用 str() 或 repr() 函数;

str1 = "python" str2 = 'pycharm' int_str3 = 123 print("str1:" + str1 + ",str2:" + str2 + ",int_str3:" + str(int_str3)) print("str1:" + str1 + ",str2:" + str2 + ",int_str3:" + repr(int_str3)) 运行结果 str1:python,str2:pycharm,int_str3:123 str1:python,str2:pycharm,int_str3:123
使用 input 获取用户输入

input() 函数用于向用户生成一条提示,然后获取用户输入的内容;由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串;一般可以通过 int()、float() 等方法来转换类型。

name = input("请输入您的姓名:") print(name, type(name)) age = input("请输入您的年龄:") # 使用int()函数把字符串类型转换成整型 age = int(age) print(age, type(age)) height = input("请输入您的身高(cm):") # 转换成浮点型 height = float(height) print(height, type(height)) 运行结果 请输入您的姓名:小明 小明 <class 'str'> 请输入您的年龄:15 15 <class 'int'> 请输入您的身高(cm):177 177.0 <class 'float'>
字符串格式化

前面介绍了字符串拼接,若是简单的 2、3 个字符串拼接那还算好,如果大于 3 个变量的拼接,就会比较麻烦,还有就是字符串无法和其他类型直接拼接,需要先进行类型转换;python 中提供了“%”对各种类型的数据进行格式化输出。

name = "小明" print("姓名是:%s" % name) 运行结果 姓名是:小明

print("姓名是:%s" % name)

这里 “%s”是占位符,第二个“%”是分隔符,后面的 name 就是变量了;

name = "小明" age = 15 print("姓名是:%s,已经%s岁了" % (name, age)) 运行结果 姓名是:小明,已经15岁了

再添加一个 int 类型的 age 变量,输出时使用两个“%s”,中间依然用“%”间隔,后面括号里面两个参数;需要注意参数的顺序不能乱;

除了“%s”以外,还有很多占位符,例如常用的 %s,%d,%f,分别把参数或者表达式转换成字符串,整型,浮点型。

转换说明符

描述

d,i

转换为带符号的十进制形式的整数

o

转换为带符号的八进制形式的整数

x

转换为带符号的十六进制形式的整数

X

转换为带符号的十六进制形式的整数

e

转换为科协计数法表示的浮点数(e 小写)

E

转换为科协计数法表示的浮点数(E 大写)

f,F

转换为十进制形式的浮点数

g

智能选择使用 f 或 e 格式

G

智能选择使用 F 或 E 格式

C

转换为单字符(只接受整数或单字符字符串)

r

使用 repr() 将变量或表达式转换为字符串

s

使用 str() 将变量或表达式转换为字符串

name = "小明" age = 15 height = 177.7 print("姓名是:%s,已经%s岁了,身高%f" % (name, age, height)) 运行结果 姓名是:小明,已经15岁了,身高177.700000

可以看到打印结果中,身高字段后面多了 5 个 0,此处涉及到一个格式化精度控制;

可以使用辅助符号“m,n”来控制数据的宽度和精度:

m,控制宽度(包括小数点),需要注意若设置的宽度小于数字本身,则不会生效;

n,控制小数点精度,若数字的宽度大于小数位数,则需要进行四舍五入;

name = "小明" age = 15 height = 171.55 print("姓名是:%s,已经%s岁了,身高%.1f" % (name, age, height)) 运行结果 姓名是:小明,已经15岁了,身高171.6

快速 format 格式化用法,一种更加简单快捷优雅的格式化方式;

语法是:f"内容{变量}内容"

在字符串前面添加“f”,字符串里面的对应变量使用“{}”大括号括起来;

name = "小明" age = 15 height = 171.55 print(f"姓名是:{name},已经{age}岁了,身高{height:.1f}") 运行结果 姓名是:小明,已经15岁了,身高171.6

未完待续......

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询