数据类型
整数
Python可以处理任意大小的整数,当然包括负整数,在程序中表示的方法和数学上的写法一模一样,例如:1,100,-9820,0,等
浮点数
浮点数也就是小数,对于一个浮点数的小数点是可变的
字符串
字符串是以单引号’或双引号"括起来的任意文本
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False
空值
空值是Python里的一个特殊的值,用None表示。
None不能理解为0,因为0是有意义的,而None是一个特殊的空值
变量
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头
字符串和编码
使用LIST和TUPLE
list
list是一种有序的集合,可以随时添加和删除其中的元素。
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
PS:tuple不能增加,减少,改变列表中的元素,list可以
t = (1)
#定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,
#又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规
#定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有
#1个元素的tuple定义时必须加一个逗号,,来消除歧义:
条件判断
计算机之所以能做很多的自动化任务,因为它可以自己做条件判断。
比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if来实现:
age = 20
if age >18 :
print('your age is',age)
print('adult')
可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去吧else执行了:
age = 3
if age >18:
print('your age is ',age)
print('adult')
else :
print('your age is',age)
print('teenager')
练习
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻
18.5-25:正常
25-28:过重
28-32:肥胖
高于32:严重肥胖
height = 1.75
weight = 80.5
bmi = weight/(height**2)
if bmi<18.5:
print('过轻')
elif bmi<25:
print('正常')
elif bmi<28:
print('过重')
elif bmi<32:
print('肥胖')
else:
print('严重肥胖')
循环
Python的循环有两种,一种是for…in循环,依次把list或tuple中的每个元素迭代出来,如:
names = ['Michael','BOb','Tracy']
for name in names:
print(name)
#计算1到100的整数之和
sum = 0
for i in range(101):
sum = sum + i
print(sum)
5050
第二种是while循环,只要条件满足,就不断循环,条件不满足时退出循环
比如我们要计算100以内所有奇数之和,可以用while循环实现:
sum = 0
n = 99
while n> 0:
sum = sum + n
n = n-2
print(sum)
break
在循环中,break语句可以提前退出循环。
要循环打印1~100的数字:
n = 1
while n<= 100:
print(n)
n= n + 1
print('end')
如果要提前结束循环,可以用break语句:
n =1
while n <= 100:
if n > 10:#如果n=11时,执行break语句
break #break语句结束当前循环
print(n)
n = n +1
print('end')
continue
在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
如果我们想只打印奇数,可以用continue语句跳过某些循环:
n=0
while n< 10:
n = n+1
if n%2 == 0:#如果n除于2,余数为0,则n为偶数,执行continue语句
continue#continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
使用dict和set
dict
和list比较,dict有以下几个特点:
1、查找和插入的速度极快,不会随着key的增加而变慢;
2、需要占用大量的内存,内存浪费多。
而list相反:
1、查找和插入的时间随着元素的增加而增加;
2、占用的空间小,浪费内存很少。
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在
dict的key必须是不可变对象。
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
重复元素在set中自动被过滤。
s = set([1,2,3,1,2,3])
s
通过add(key)的方式可以添加元素到set中,可以重复添加,但不会有效果:
通过remove(key)方法可以删除元素:
set 可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集和并集等操作。
再议不可变对象
str是不可变对象,list是可变对象
对可变对象,比如list进行操作,list内部的内容是会变化的,比如:
a = ['c','b','a']
a.sort()
a
而对于不可变对象,比如str,对str进行操作:
使用变量的方法