开发环境及Git 的配置与排错:
标识符
和关键字
变量
和数据类型
运算符
,可熟练使用Python运算符进行数值运算万丈高楼平地起,使用Python 语言编写程序之前我们需要先掌握Python 的基础知识。
本章将对Python 的基础知识,包括代码格式、标识符、关键字、变量、数据类型、数字类型和运算符进行详细讲解。
第2章 Python基础语法教学PPT课件
代码格式可提升代码的可读性,与其他语言不同,Python代码的格式是Python语法的组成之一,不符合格式规范的Python代码无法正常运行。
单行注释以“#
”开头,用于说明当前行或之后代码的功能。单行注释既可以单独占一行,也可以位于标识的代码之后,与标识的代码共占一行。
Python 代码使用"缩进" (即一行代码之前的空白区域)来确定代码之间的 层次关系
和 逻辑关系
。
Python 代码的缩进可以通过 Tab
键 或者空格键控制,输入空格是Python3 首选的缩进方法,一般使用4个空格
表示一级缩进。
略
略
标识符命名规则:
为了规范命名标识符,关于标识符的命名提以下建议:
Python常用的关键字 >>参考文章<<
假如有一天,我去图书馆看书,可是图书馆那么多书,我要如何快速找到我想要的那本书呢?
首先,我要搞清楚,我想要看哪本书?《诗》《书》《礼》《易》《春秋》……或者什么类型的书。 把书籍的名字报个图书管理员。管理员提前巴蜀放到固定的位置,并把这个位置进行了编号,我们只需要在图书馆中按照这个编号查找指定的位置就能找到对应的书籍。
管理员接下来怎么做?他是去直接找书吗?书是放在哪里的?。图书管理员会根据书籍的编号找到对应的书架。
从那么多书中去找一本书,是不是太难了?只需要找到书的编号就可以找到对应的书架。
这个编号其实就是把书籍存放的书架起了一个名字,方便后期查找和使用。
程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们按这个数据在内存中存储之后定义一个名词,这就是 变量。
存储数据的设备分为内存储(内存条)和外存储(U盘、硬盘)。
程序在运行期间用到的数据会被保存在计算机的内存单元中,为了方便存取内存单元 中的数据,Python使用标识符 来标识不同的内存单元,如此,标识符与数据建立了联系。
标识 内存单元 的 标识符又称为变量名,Python通过赋值运算符“=
”将 内存单元 中 存储的数值 与 变量名 建立联系,即定义变量,具体语法格式如下:变量
= 值
(程序先计算右边,然后赋值给左边)
变量名是自定义的,严格遵循 标识符 命名规则。
MyName
myName
my_name
在 PyCharm 中演示变量的定义与使用
"""
1、定义变量
语法:变量名 = 值
2、使用变量
3、变量的特点
"""
#定义变量:存储数据NAIVA
my_name = 'NAIVA' #定义变量
print(my_name) #使用变量
#定义变量:存储数据 国际智能产业博览会
hisName = '国际智能产业博览会'
print(hisName)
输出效果如下:
特点总结:
1、程序是自上而下的输出的。
2、变量存储的数据是什么,输出的内容就是什么。意味着更改程序时,只需要改变变量的内容就可以了。
认识数据类型,数据类型是什么?数据类型的作用是什么?>>在线流程图工具ProcessOn<<
容器类数据(列表、元组、集合、字典)
在PyCharm中演示代码,如下:
"""
1、按经验将不同的变量存储不同的数据类型
2、验证这些数据到底是什么类型--检测数据类型--type(数据) 函数
"""
#int -- 整型
num1 = 1
#float -- 浮点型,就是小数
num2 = 1.1
print(type(num1))
print(type(num2))
#str -- 字符串 特点是数据都是要带英文状态下的引号(单双引号都行)
a = "hello,world!"
print(type(a))
#bool -- 布尔型,通常判断使用,布尔类型有两个取值 True 和 False
b = True
print(type(b))
#list -- 列表
c = [10,20,30]
print(type(c))
#tuple -- 元组
d = (10,20,30)
print(type(d))
#set -- 集合
e = {
10,20,30}
print(type(e))
#dict -- 字典
f = {
'name':'NAIVA','age':18} #键值对
print(type(f))
输出结果如下:
Python常用的内置函数 >>参考文章<<
购物小票又称购物收据,是指消费者购买商品时由商场或其它商业机构给用户留存的销售凭据。购物小票中一般会包含用户购买的商品名称、数量、单价以及总金额等信息。本实例要求编写代码,实现打印购物小票的功能。
# 打印购物小票
print("单号: DH20140923001")
print("时间:2014-09-23 08:56:14")
print(".................................")
print("名称 数量 单价 金额")
print("金士顿U盘8G 1 40.00 40.00 ")
print("胜创16GTF卡 1 50.00 50.00 ")
print("读卡器 1 8.00 8.00 ")
print("网线2米 1 5.00 5.00 ")
print(".................................")
print("总数:4 总额:103.00")
print("折后总额:103.00")
print("实收:103.00 找零:0.00")
print("收银:管理员")
蚂蚁森林是支付宝客户端发起“碳账户”的一款公益活动:用户通过步行、地铁出行、在线消费等行为,可在蚂蚁森林中获取能量,当能量到达一定数值后,用户可以在支付宝中申请一颗虚拟的树,申请成功后会收到支付宝发放的一张植树证书。植树证书中包含申请日期、树苗编号等信息。本实例要求编写代码,实现打印植树证书信息的功能。
print(" 植树证书1 ")
print(" 谢谢你 ")
print("你于2019年11月3日申请种植的梭梭树,\n"
"已被中国扶贫基金会认领,将种植到武威\n"
"地区。")
print(" 树苗编号 ")
print(" NO.HFK20308960305 ")
输出结果如下:
整数类型(int)简称整型,它用于表示整数。整型常用的计数方式有4种,分别是二进制(以“0B”或“0b”开头)、八进制(以数字“0o”或“0O”开头)、十进制和十六进制(以“0x”或“0X”开头)。
示例 | |
---|---|
0b101 | # 二进制 |
0o5 | # 八进制 |
5 | # 十进制 |
0x5 | # 十六进制 |
为了方便使用各进制的数据,Python中内置了用于转换数据进制的函数:bin()
、oct()
、int()
、hex()
,关于这些函数的功能说明如下。
Python进制转换函数及其功能说明:
函数 | 说明 |
---|---|
bin(x) | 将x转换为二进制数据 |
oct(x) | 将x转换为八进制数据 |
int(x) | 将x转换为十进制数据 |
hex(x) | 将x转换为十六进制 |
在PyCharm中演示代码如下。
#bin() 用于将一个数据转换为二进制
#oct() 用于将一个数据转换为八进制
#int() 用于将一个数据转换为十进制
#hex() 用于将一个数据转换为十六进制
bin_num = 0b101 # 定义一个变量并赋值二进制 0b101
int_num = 10 #定义一个变量并赋值为十进制的 10
print(oct(int_num)) #将十进制的10 转换为 八进制计数方式输出
print(bin(int_num)) #将十进制的10 转换为 二进制计数方式输出
print(hex(int_num)) #将十进制的10 转换为十六机制的计数方式输出
print(int(bin_num)) #将二进制0b101 转换为 十进制并输出
浮点型 (float)用于表示实数,实数由整数部分、小数点和小数部分组成,如 3.14 、0.9。
Python 中浮点型数据一般十进制表示,示例如下:
1.0, 1.2, 2.36, 3.14
较大或较小的浮点数可以使用科学计数法表示。科学记数法会把一个数表示成 a 与10 的 n 次幂相乘的形式,数学中科学记数法的格式:
a x 10n (1 ≤|a|<10,n ∈ N)
Python 程序中使用字母e
或E
表示底数 10 。
示例 | 说明 |
---|---|
-3.14e2 | 表示-3.14 x 10 2 即 -314 |
3.14e-3 | 表示3.14 x 10-3 即 0.00314 |
Python中的浮点型是双精度的(double),每个浮点型数据占8
字节(即64位),且遵守IEEE(国际电气与电子工程师协会)标准,其中,52
位用于存储尾数,11
位用于存储阶码,剩余1
位用于存储符号。Python 中浮点型的取值范围为-1.8e308~1.8e308
,若超出这个范围,Python会将值视为无穷大(inf) 或者 无穷小(-inf)。示例代码如下:
print(3.14e500)
print(-3.14e500)
复数的百科
整数和浮点数(小数)在数学中被统称为实数。与实数对应的是复数,复数在数学中被表示为:a+bi,其中a被称为实部,b被称为虚部,i被称为虚数单位。
复数在数学、理论物理学和电气工程等方面应用广泛,例如向量就可以使用复数表示。
以前,老师教开根号的时候,负数是不能开根号的。后来,人们定义虚数 i,i * i = -1(用j也是一样的,只是一个符号)
因此,可以推导出:2i * 2i = -4
“我们把形如 z = a + bi(a、b均为实数) 的数称为复数。其中,
a
称为实部,b
称为虚部,i
称为虚数单位。当 z 的虚部 b=0 时,则 z 为实数;当 z 的虚部 b≠0
时,实部 a=0 时,常称 z 为纯虚数。复数域是实数域的代数闭包,即任何复系数多项式在 复数域中总有根。复数是由意大利米兰学者卡当在16世纪首次引入,经过达朗贝尔、棣莫弗、欧拉、高斯等人的工作,此概念逐渐为数学家所接受。”
复数由 实部 和 虚部 构成,它的一般形式为:real
+ imag
+j
,其中real为实部,imag为虚部,j
为虚部单位。
注意:复数的实部和虚部都是浮点型。
示例如下:
complex_one = 1 + 2j # 实部为1 ,虚部为2
complex_tow = 2j # 实部为0 ,虚部为2
通过real
和 imag
属性可以获取复数的实部和虚部,示例代码如下:
complex_one = 1 + 2j
complex_two = 2j
print(complex_one.real) #获取复数complex_one 的实部
print(complex_one.imag) #获取复数complex_one 的虚部
print(complex_two.real)
print(complex_two.imag)
布尔类型(bool)是一种特殊的整型, 其值True
对应整数1
,False
对应整数0
。Python 中常见的布尔值为False 的数据如下:
0
, 0.0
,0j
;" "
,( )
,[ ]
;{ }
。Python中可以使用bool()
函数检测数据的布尔值,示例代码如下:
print(bool(1)) #整型
print(bool(None))
print(bool(False))
print(bool(0)) #整型
print(bool(0.0)) #浮点型
print(bool(0j)) #复数
print(bool("")) #字符串
print(bool(tuple()))#元组
print(bool(set())) #集合
print(bool(dict())) #字典
print(bool(list())) #列表
Python内置了一系列可实现 强制类型转换 的函数,使用这些函数可以将目标数据转换为指定的类型。数字类型间进行转换的函数有int()
、float()
、complex()
。需要注意的是 浮点型数据转换为整型数据后只保留 整数部分。
Python数字类型转换函数以及其功能说明:
函数 | 说明 |
---|---|
int(x[,base]) | 将x转换为一个整数数据 |
float(x) | 将x转换为一个浮点型数据 |
complex(x) | 将x转换为一个附属类型 |
在PyCharm中演示代码的使用,示例代码如下:
#数据类型强制转换
num_one = 1 #整型
num_two = 2.0 #浮点型
print(int(num_two)) #将浮点型转换成整型 (只保留整数部分)
print(float(num_one)) #将整型装换成浮点型
print(complex(num_one)) #将整型转换成复数类型
Python运算符是一种特殊的符号,主要用于实现数值之间的运算。根据操作数数量的不同,运算符可分为单目运算符、双目运算符;根据运算符的功能,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符 和 位运算符。
下面将详细介绍 Python 中的运算符合运算符邮箱级。
Python中的算术运算符包括+
、-
、*
、/
、//
、%
和**
。以操作数a = 2
,b = 8
为例对算术运算符进行使用说明。
补充知识:余数
1、余数指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数。 例如:27除以6,商数为4,余数为3。
2、一个数除以另一个数,要是比另一个数小的话,商为0,余数就是它自己。 例如:1除以2,商数为0,余数为1;2除以3,商数为0,余数为2。
Python中的算术运算符既支持对相同类型的数值进行运算,也支持对不同类型的数值进行混合运算。在混合运算时,Python会强制将数值的类型进行临时类型转换,这些转换遵循如下原则:
赋值运算符的作用是将一个表达式或对象赋值给一个左值。左值是指一个能位于赋值运算符左边的表达式,它通常是一个可修改的变量,不能是一个常量。
例如 将 整数3 赋值给 变量num:num = 3
赋值运算符允许同时为多个变量赋值
x = y = z = 1 # 变量x、y、z均赋值为1
a, b = 1, 2 # 变量a赋值为1,变量b赋值为2
Python中的算术运算符可以与赋值运算符组成复合赋值运算符,赋值运算符同时具备运算和赋值两项功能。以变量num为例, Python复合赋值运算符的功能说明及示例如下表所示:
Python3.8中新增了一个赋值运算符——海象运算符“:=
”,该运算符用于在表达式内部为变量赋值,因形似海象的眼睛和长牙而得此命名。
num_one = 1
# 使用海象运算符为num_two赋值
result = num_one + (num_two:=2)
print(result)
比较运算符也叫关系运算符,用于比较两个数值,判断它们之间的关系。Python中的比较运算符包括==
、!=
、>
、<
、>=
、<=
,它们通常用于布尔测试,测试的结果只能是True或False。以变量x=2
,y=3
为例,具体如下:
作用: 条件成立执行if 下方的代码,条件不成立执行else下方的代码
语法: 如下所示
if 条件:
条件成立执行的代码1
条件成立执行的代码2
条件成立执行的代码3
...
else:
条件不成立执行的代码1
条件不成立执行的代码2
条件不成立执行的代码3
...
在PyCh中演示代码,如下:
x = 2
y = 3
# x,y = 2,3
if x == y:
#if (x == y):
print("True ,x 等于 y ")
else:
print("False , x 不等于 y ")
Python中分别使用“or
”,“and
”,“not
”这三个关键字作为逻辑运算符,其中or与and为 双目运算符,not为单目运算符。以x=10
,y=20
为例,具体如下:
a = 0
b = 1
c = 2
# and (与) :有0出0,全1出1
print(a < b and c > b)
print(a > b and c > b)
# or (或):有1出1,全0出0
print(a < b or c > b)
print(a > b or c > b)
# not (非):取反
print(not False)
思考:如何用
if… else…
条件控制语句验证以上结果?
成员运算符in
和not in
用于测试给定数据是否存在于序列(如列表、字符串 中,关于它们的介绍如下:
in
:如果指定元素在序列中返回True,否则返回False。not in
:如果指定元素不在序列中返回True,否则返回False。a = 10
b = 20
list = [1, 2, 3, 4, 5 ]
if ( a in list ): #for i in range(10):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表中 list 中")
else:
print ("3 - 变量 a 不在给定的列表中 list 中")
位运算符用于按二进制位进行逻辑运算,操作数必须为整数。下面介绍位运算符的功能,并以a=2
,b=3
为例进行演示,具体如下:
注意:
2 的二进制表示为 :0000 0010
3 的二进制表示为: 0000 0011
按位左移 <<
是指将 二进制形式 操作数的所有位全部左移n位,高位丢弃,低位补0
。
以十进制9为例 :9 转为二进制后是
00001001
,将转换后的二进制数左移4位后,结果为144 ,转为二进制是1001 0000
。
在PyCharm 中演示 右移4位 代码,示例代码如下:
a = 9
b = a<<4
print(bin(a)) #将a转换为二进制 0b1001 即(高4位和第4位)0000 1001
print(a) #a = 9 十进制
print(bin(b)) #将b转换为二进制 0b1001 00000
print(b) #b = 144
按位右移 (>>
) 是指将二进制形式操作数的所有位全部右移n位,低位丢弃,高位补0
。
以十进制8为例,8转换为二进制后是00001000,将转换后的二进制数右移2位。
按位与 &
是指将参与运算的两个操作数对应的二进制位进行“与”操作。当对应的两个二进制位均为1时,结果位就为1,否则为0。以十进制9和3为例,9和3转换为二进制后分别是00001001和00000011。
按位或|
是指将参与运算的两个操作数对应的二进制位进行“或”操作。若对应的两个二进制位有一个为1时,结果位就为1。若参与运算的数值为负数,参与运算的两个数均以补码出现。以十进制8和3为例,8和3转换为二进制后分别是00001000和00000011。
按位异或 ^
是指将参与运算的两个操作数对应的二进制位进行“异或”操作。当对应的两个二进制位中有一个为1,另一个为0时,结果位为1,否则结果位为0。以十进制8和4为例,8和4转换为二进制后分别是00001000和00000100。
按位取反~
是指将二进制的 每一位进行取反,0取反为1,1取反为0。按位取反 操作 首先会获取这个数的补码,然后对补码进行取反,最后将取反结果转换为原码,例如,对9按位取反的计算过程如下:
1
“表示负数,”0
"表示整数)不变,其他位取反,然后+1得到原码,最终结果为10001010,即-10什么是补码?
【一听就懂】什么是补码?
Python支持使用多个不同的运算符连接简单表达式,实现相对复杂的功能,为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。Python中运算符的优先级从高到低如下:
题目:绝对温标又称开氏温标、热力学温标,是热力学和统计物理中的重要参数之一,也是国际单位制七个基本物理量之一。绝对温标的单位为开尔文(简称开,符号为K),绝对温标的零度对应我们日常使用的摄氏温度(单位为摄氏度,简称度,符号为℃)的-273.15℃。
本实例要求编写代码,实现将用户输入的摄氏温度转换为移绝对温标标识的开氏温度的功能。
# T(K)=t(℃)+273.15
celsius = float(input("请输入摄氏温度:"))
kelvin = celsius + 273.15
print(celsius,"℃对应的开尔文为:",kelvin)
知识加油站: 七大国际基本量
1、时间单位秒(s)
2、长度单位米(m)
3、质量单位千克(kg)
4、电流强度单位安培(A)
5、热力学温度开尔文(K)
6、物质的量单位摩尔(mol)
7、发光强度单位坎德拉(cd)
题目:BMI指数即身体健康指数,它与人的体重和身高相关,是目前国际常用的衡量人体胖瘦程度以及是否健康的一个标准。已知BMI值的计算公式如下:
体质指数(BMI)= 体重(kg)÷身高^2(m)
本实例要求编写代码,实现根据用户输入的身高体重计算BMI指数的功能。
height = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(kg):'))
BMI = weight / (height ** 2)
print('您的BMI值为:',BMI)
一、填空题
1、Python中建议使用______个空格表示一级缩进。
2、布尔类型的取值包括______和______。
3、使用______函数可查看数据的类型。
4、float()函数用于将数据转换为______类型的数据。
5、若a=3,b=-2,则a+=b的结果为______。
二、判断题
1、Python中可以使用关键字作为变量名。( )
2、变量名可以以数字开头。( )
3、Python标识符不区分大小写。( )
4、布尔类型是特殊的浮点型。( )
5、复数类型的实数部分可以为0。( )
三、选择题
1、Python中使用( )符号表示单行注释。
A.#
B./
C.//
D.
2、下列选项中,(不)属于Python关键字的是( )。
A.name
B.if
C.is
D.and
3、下列选项中,属于数字类型的是( )。
A.0
B.1.0
C.1+2j
D.以上全部
4、若将2转换为0b10,应该使用( )函数。
A.oct()
B.bin()
C.hex()
D.int()
5、下列选项中,不属于Python数据类型的是( )。
A.bool
B.dict
C.string
D.set
四、简答题
1、请简单介绍Python中的数据类型和数字类型。
答:根据数据存储形式的不同,Python使用不同的数据类型存储不同类型的数据。数字类型提供了数值的存储,Python中的数字类型又包含整型、浮点型、复数类型和布尔类型。
2、请简述Python变量的命名规范。
答:
常量名使用大写的单个单词或由下划线连接的多个单词(如ORDER_LIST_LIMIT
);
模块名、函数名使用小写的单个单词或由下画线连接的多个单词(如low_with_under
);
类名使用大写字母开头的单个或多个单词(如Cat
、CapWorld
)。
3、请简单介绍Python中的运算符。
答:Python运算符是一种特殊的符号,主要用于实现数值之间的运算。
根据 操作数数量 的不同,运算符可分为单目运算符、双目运算符;
根据 功能 的不同,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和成员运算符。
五、编程题
1、编写程序,要求程序能根据用户输入的数据计算圆的面积(圆的面积公式:S=πr^2,π取值为3.14),并分别输出圆的直径 和面积。
radius = float(input("请输入园的半径:"))
# 直径
diameter = 2 * radius
# 面积
area = 3.14 * radius * radius
print('园的直径为:', diameter)
print('园的面积为:', area)
2、已知某煤场有29.5顿煤,先用一辆载重4顿的汽车运3次,剩下的用一辆载重为2.5顿的汽车运送,请计算还需要运送几次才能送完?编写程序,解答此问题。
frequency = (29.5 - 4 * 3) / 2.5
print("还需运送的次数为:",frequency)