>>> print(type(3.1415926))
<class 'float'>
>>> print(type('Learn Python in imoc'))
<class 'str'>
>>> print(type(100))
<class 'int'>
>>> print(type(0b1101))
<class 'int'>
>>>
在Python里面,一个变量可以先后存储多种不同类型的数据。
//向下取整
10//4 # ==> 2
10//2.5 # ==> 4.0
10//3 # ==> 3
//保留两位小数
round(num, 2) # ==> 3.33
//我直接转义
a = r'\(~_~)/ \(~_~)/'
b = r'''Python is created by "Guido".
It is free and easy to learn.
Let's start learn Python in imooc!'''
print(a)
print(b)
//格式输出
# 指定{}的名字w,c,b,i
template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.'
world = 'World'
china = 'China'
beijing = 'Beijing'
imooc = 'imooc'
# 指定名字对应的模板数据内容
result = template.format(w = world, c = china, b = beijing, i = imooc)
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello imooc.
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))# 感觉不如?
//字符串切片
//s[起点:终点]
s = 'ABC'
ab = s[0:2] # 取字符串s中的第一个字符到第三个字符,不包括第三个字符
print(ab) # ==> AB
//list
L = ['Alice', 66, 'Bob', True, 'False', 100]
print(L)
for i in L://遍历
print(i)
sub_L = L[0:5]//切片,超出去不会报错
print(L[-2])//倒数第二个
L.append('ll')//从末尾添加元素
L.insert(1, 'a')//在L[1]后添加元素
L.pop()//删除最后一个元素,并且返回该元素的值
L.pop(2)//删除L[2]
a = L.pop()//可以赋值
//二维list
L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]
print(L[0])
print(L[0][1])
可以与list相互转换, 不能增删
#tuple
L = (1, 1, 4, 5, 1, 4)#tuple用小括号括起来
a = list(L)#转换成list
b = tuple(a)#转换成tuple
print(L.count(1))#查询L中有几个1
print(L.index(1))#返回最近的1的下标,需要目标元素存在
T = (1, )#单个元素的tuple
T = (1)#这样的话其实是1
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
print(T)
#不可变指的是指指向的list不可变,然而list里面的内容可以改变
T = (1, 'CH', [3, 4])
L = T[2]
print(L) # ==> [3, 4]
# 尝试替换L中的元素
L[1] = 40
print(L) # ==> [3, 40]
print(T) # ==> (1, 'CH', [3, 40])
L = [1, 2, 3]
T = L
T[0] = 3
print(L) ===> [3, 2, 3]
很像map吗
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
if 'Alice' in d:
print(d['Alice']) # ==> 45
print(d.get('Alice'))
if 'Dodo' in d: # Dodo不存在,所以不会走下面的逻辑
print(d['Dodo'])
#用get不存在的话不会报错,直接用[]访问若不存在会报错
d['aa'] = 1 #直接添加
print(d['aa']
d.pop('Bob') #删除Bob这一项,注意元素不存在时会报错
#key不可变,因此tuple可当做key,而list不可以
for key in d:
print(key, d[key]) #遍历key并输出
a = d.keys()//获取key,但是clear后它也会清零,很奇怪
b = d.values()//获取value
d.clear()
s = set([1, 1, 4, 5, 1, 4])
print(1 in s) #判断1是否在set里
s.add(2) #添加单个
s.update([11, 22]) #添加多个
s.remove(5) #删除
s.discard(11) #删除,不存在的元素不会报错
s.clear()
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
# 判断s1是否为s2的子集
s1.issubset(s2) # ==> True
# 判断s2是否为s1的超集
s2.issuperset(s1) # ==> True
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
s1.isdisjoint(s2) # ==> False,因为有重复元素1、2、3、4、5
#判断两个集合是否重合
def func(*args):
print('args length = {}, args = {}'.format(len(args), args))
# 可变参数,在函数内部args相当于tuple
def fun(**kwargs):
print(kwargs.get('a') + kwargs.get('b'))
fun(a = 2, b = 3)
# 可变关键字参数
print(1, end=" ") # 默认换行
print(2)