Python的数据类型
python
变量,不用声明类型,且变量可以赋值不同类型。python
的整数没有大小限制.python
的浮点数也没有大小限制,但是超出一定范围就直接表示为inf
(无限大)。
# 整数
a=100
a=0xff00
#浮点数
a=3.14
a=1.23e9 #相当10的9次方
#字符串
a="abc"
a='abc'
a='I\'m OK'
#布尔值
a=True
a=False
#空值
a=None
运算操作符
a = 10 / 3 #除,值为3.3333333333333335
a = 9 / 3 #除,值为3.0,注意结果为浮点型
a = 10 // 3 #地板除,值为3 整数
a = 10 % 3 #求余,值为1
条件判断
python
条件判断格式,需要注意:
和 缩进保持一致
,如下:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
例如:
age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
循环
python
的循环有两种,for..in..
和 while
指定循环次数,可用range()
一个整数序列
list(range(5)) #返回 [0, 1, 2, 3, 4]
# for .. in ..
sum = 0
for x in range(101):
sum = sum + x
print(sum)
# while循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
另外break
结束循环, continue
跳过循环。跟C语言
中的定义一致。
数组
list
list在python
中为数组。
enumerate()
用它来遍历集合,不仅返回每个元素,并且还返回其对应的索引
#定义list
classmates = ['Michael', 'Bob', 'Tracy']
#取值
classmates[0] #返回'Michael'
classmates[-1] #倒数第一个值 'Tracy'
classmates[-2] #倒数第二个值 'Bob'
#长度
len(classmates) #长度为3
classmates.append('Adam') #添加
classmates.pop() #删除,最后一个
classmates.pop(1) #删除指定位置
s = ['python', 'java', ['asp', 'php'], 'scheme'] #二阶数组
# 数组遍历,结合索引
l = [1, 2, 3, 4, 5, 6, 7]
for index, item in enumerate(l):
if index < 5:
print(item)
tuple
tuple
和lis
t非常类似,但是tuple
一旦初始化就不能修改。使用()
定义。
classmates = ('Michael', 'Bob', 'Tracy') #使用()定义
t = (1,) #当只有一个值时,加个逗号,防止(1)歧义
set
set
的定义,跟Java
中set
定义一致:
一组key的集合,且key不能重复。
s = set([1, 2, 3]) #set定义,大概相当于list,加了一层()
s.add(4) #添加
s.remove(4) #删除
dict
dict
字典,跟Java
中的map
定义一致:
使用键-值(key-value)存储,具有极快的查找速度。
判断key
是否存在
通过in
get
见下面示例。
转化为数组
dict.items()
返回可遍历的(键, 值) 元组数组
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} #创建成绩表,建立使用{}
d['Adam'] = 67 #添加/修改
'Thomas' in d #判断,是否包括,返回False
d.get('Thomas') #获取,不存在返回None
d.get('Thomas', -1) #获取,不存在返回默认值-1
d.pop('Bob') #删除`Bob`,返回该值的value
d.items() #返回 [('Michael', 95), ('Bob', 75), ('Tracy', 85)]
# 字典的遍历
d = {'name': 'jason', 'dob': '2000-01-01', 'gender': 'male'}
# 遍历字典的键
for k in d:
print(k)
# 遍历字典的值
for v in d.values():
print(v)
# 遍历字典的键值对
for k, v in d.items():
print('key: {}, value: {}'.format(k, v))
比较和拷贝
==
和 is
是 Python 中对象比较常用的两种方式。
简单来说,
==
操作符比较对象之间的值是否相等。
is
操作符比较的是内存地址是否相等。
copy.copy()
//浅拷贝
copy.deepcopy()
//深拷贝