<meta charset="utf-8">
一、Python变量和数据类型
1. 变量的定义
在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?
大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可
如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可
在Python中,存储一个数据,需要一个叫做变量的东西,如下示例:
num1 = 100 #num1就是一个变量,就好一个小菜篮子
num2 = 87 #num2也是一个变量
result = num1 + num2 #把num1和num2这两个"菜篮子"中的数据进行累加,然后放到 result变量中
说明:
- 所谓变量,可以理解为菜篮子,如果需要存储多个数据,最简单的方式是有多个变量,当然了也可以使用一个
- 程序就是用来处理数据的,而变量就是用来存储数据的
程序中:
为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型的,如下所示:
Python3 中有六个标准的数据类型:
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
注意:在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
可以使用type(变量的名字),来查看变量的类型
6.1 概念
- 整数
Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。 - 浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。 - 字符串
字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。 - 布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来。
布尔值可以用and、or和not运算。
and运算是与运算,只有所有都为 True,and运算结果才是 True。A与B true true
or运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。 - 空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
6.2 代码示例
#整数
a=1;
#浮点数
b=1.1;
#字符串
c="abc";
#boolean类型
d=True;
#空值
e=None;
print(a);print(b);print(c);print(d);print(e)
a=True and True # ==> True
b=True and False # ==> False
c=False and True # ==> False
d=False and False # ==> False
e=True or True # ==> True
f=True or False # ==> True
g=False or True # ==> True
h=False or False # ==> False
i=not True # ==> False
j=not False # ==> True
print(a,b,c,d,e,f,g,h,i,j)
说明:
- 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
- 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
6.3 标识符
- 什么是标识符?
开发人员在程序中自定义的一些符号和名称
标识符是自己定义的,如变量名 、函数名等 - 标识符的命名规则
. 标识符只能由字母、下划线“_”、数字组成。
. 标识符不能以数字开头。
. 标识符不能使用关键字
. 标识符对大小写敏感。
(建议:标识符命名应“见名知意”)
- python中的关键字
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
- 注释:
- 单行注释:
/* */
//定义一个变量
name="jack"
- 多行注释:
'''
定义一个变量
'''
name="jack"
- 课堂思考:下列哪些标识符符合规则
if name and my_list my_list1 from#1 age 2list as True wetyui
height my_log qwe&qwe
- 标识符的命名方法
- 小驼峰式命名法:
函数名、变量名 addName
- 大驼峰式命名法:
类名 AddName
2. Python中print语句
print() 方法用于打印输出,最常见的一个函数。
语法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数:
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
#直接打印
print("哈哈哈哈")
#多条打印
print("哈哈哈哈","呵呵呵呵","吼吼吼吼"),
#打印+计算
print("100+200的和是:",100+200);
#设置间隔符号
print("www","runoob","com",sep=".") # 设置间隔符 www.runoob.com
格式化输出
方式一:使用百分号(%)字符串格式化
print("my name is %s, and my age is %d" %(name,age))
方式二:使用format字符串格式化
位置参数
print("my name is {}, and my age is {}".format(age,name))
关键字参数
print("my name is {name}, and my age is {age}".format(age=18,name="jack"))
注释:位置参数("{0}".format()),关键字参数("{关键字}".format())
3. 设置换行符号
print(a,b,c,d,e,sep=";",end="\n");
4. Python中input语句
input() 用来获取控制台的输入。
语法:
input([prompt])
二、运算符
1. 算术运算符:
以下假设变量a为10,变量b为21
案例:计算a=10,b=21的算术运算符使用
a = 10
b = 21
print(a + b)
2. 逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
案例:
a = 1
print(a = 1 and a = 2)
3. 比较运算符
以下假设变量a为10,变量b为20
案例
a = 1
if a >= 1:
print("good")
else:
print("fail")
4. 赋值运算符:
以下假设变量a为10,变量b为20:
一、判断语句
在程序中如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断
1.1 if语句的使用格式
if 要判断的条件:
条件成立时,要做的事情
案例:判断年纪,如果age大于18,输入成年
age = 18
if age>18:
print("你已成年")
注意:代码的缩进为一个tab键,或者4个空格
1.2 if-else的使用格式
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
案例:判断年纪,如果age大于18,输入成年,否则未成年
age = 18
if age>18:
print("你已成年")
else:
print("你是未成年人")
1.3 if-elif-else的使用格式
if 要判断的条件:
条件成立时,要做的事情
elif 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
案例:80<score<=100,等级A;60<score<=80,等级B;剩余,等级C
score = 72
if score >80 and score <=100:
print("A")
elif score >60 and score <= 80:
print("B")
else:
print("C")
1.4 if嵌套
if 要判断的条件:
条件成立时,要做的事情
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
else:
条件不成立时,要做的事情
案例:公交卡上余额大于2,可以上车,否则输出请充值,上车如果座位数大于0能入座,否则请站稳扶好
monery = input("请输入金额:")
if int(monery)>2 :
print("请上车")
seat = input("请输入剩余座位:")
if int(seat) > 0:
print("请入座")
else:
print("请站稳扶好")
else:
print("请充值")
二:循环语句
需要多次重复执行的代码,都可以用循环的方式来完
循环不是必须要使用的,但是为了提高代码的重复使用率
2.1 while循环
2.1.1 while循环的格式
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
案例:循环打印1~100的数据和
i=1
sum=0
while i<=100:
sum+=i
i=i+1
print(sum)
练习:计算1--100之间的偶数和(包含1和100)
i=1
sum=0
while i<=100:
if i % 2 == 0 :
sum +=i
i+=1
print("1~100之间的所有的偶数和:%d" %sum)
2.1.2 while循环嵌套
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
while 条件:
条件成立时,要做的事情
条件成立时,要做的事情
.....
练习
用嵌套打印五边三角形
**
i =1
while i<=5:
j=1
while j<=i:
print("*",end="")
j+=1
print("\n")
i+=1
练习打印如下图形
**
打印九九乘法口诀
11=1
21=2 22=4
31=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
61=6 62=12 63=18 64=24 65=30 66=36
71=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
代码
i=1
while i<=9:
j=1
while j <=i :
print("%d*%d=%d"%(i,j,i*j), end=" ")
j+=1
print("\n")
i+=1
2.2 for循环
2.2.1 for循环的格式
for 临时变量 in 列表或者字符串等可迭代对象:
循环满足条件时执行的代码
练习
字符串循环打印
name="jack"
for i in name:
print(i)
打印0到9的数据
for i in range(10):
print(i)
break/continue/return
continue的作用:当满足条件时,用来结束本次循环,紧接着执行下一次的循环
break的作用:满足条件时,立刻结束break所在的循环
案例:while循环1到9,当数字是3,跳出本次循环,执行其他循环
i=0
while i<=9:
i+=1
if i ==3:
continue
print(i)
案例:while循环1到9,当数字是3,停止循环
i=0
while i<=9:
i+=1
if i ==3:
break
print(i)
注意点:
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用
- pass的使用
pass作用
1. Python pass是空语句,是为了保持程序结构的完整性。
2. pass 不做任何事情,一般用做占位语句。
for i in range(10):
pass