- 第一个字符必须是字母或者下划线
- 其他字符必须是字母、数字或下划线
- 大小写敏感
同时为多个变量进行赋值
a = b = c = 3
也可以分别对多个变量进行赋值
a, b, c = 1, 2, 3
检测数据类型type()
,得到的结果是类,因为 Python 对变量赋值都是以对象的方式
a = 1
print(type(a)) # <class 'int'>
删除对象del
a = 1
del a
取模 %
(取余数)
print(6 % 3) # 0
print(6 % 4) # 2
除法结果取整 //
print(6 // 3) # 2
print(6 // 4) # 1
and
print(True and False) # False
or
print(False or True) # True
not
print(not True) # False
检测某个对象是否在某个序列中
in
a = [1,2,3]
print(1 in a) # True
not in
a = [1,2,3]
print(1 not in a) # False
判断是否为同一个对象
is
和 is not
a = [1,2,3]
b = [1,5,6]
print(a is b) # False
print(a[0] is b[0]) # True
如果想将aaa
变为abbbaa
a = 'aaa'
a = a[:1] + 'bbb' + a[1:]
print(a) # abbbaa
%
表示格式化标识符,s
表示格式化的内容是字符串(如果是数字则是d
),然后在后面的%
中填入要格式化的内容
print('flten%s' %('wall')) # fltenwall
def fn(a,b,c):
print(a,b,c)
给函数参数传入默认值
def fn(a = 0,b = 0,c = 0):
print(a,b,c)
a = int(32)
a = 3 # 全局作用域
def fn():
print(a)
任何位置都可以访问到a
def fn():
a = 3 # 局部作用域
print(a)
fn()
只有在函数中才可以访问到a
def fn():
a = 3 # 闭包作用域
def fn2():
print(a)
fn2()
fn()
a
定义在外层函数fn
中,但在fn2
函数中可以访问到
只有if-elif-else
,没有switch
a = 10
if a < 10:
print('<10')
elif a == 10:
print('=10')
else:
print('>10')
a = 100
sum = 0
index = 1
while index <= a:
sum += index
index+=1
else:
print(sum)
python中for
循环与javascript有很大不同。python中的for循环是对序列(字符串、列表、元组、集合、字典)进行循环,可以使用range
函数生成一个序列
a = 10
for i in range(a):
print(i)
range(start, stop, step)
接收三个参数,从start
开始到stop
,中间步长(间隔)是step
for i in range(0, 10, 2):
print(i)
直接对一个序列进行循环
a = [1,2,3,4,5]
for i in a:
print(i)
跳出本次循环continue
, 跳出循环break
for i in range(0, 10, 2):
if i == 6:
continue
if i == 8:
break
print(i)
'''
0
2
4
'''
列表中可以存储任意数据类型,且数据可以随便改变
a = [1, 'a']
a[0] = 100
print(a) # [100, 'a']
元组中可以存储任意数据类型,但数据不可改变
a = (1, 'a')
print(a) # (1, 'a')
集合中可以存储任意数据类型,但数据不可重复(重复默认无效)
a = {1, 1, 'a'}
print(a) # {1, 'a'}
以键值对形式进行存储
a = {'a':1, 'b':2}
print(a) # {'a': 1, 'b': 2}
a = [1,2,'1.1', True]
b = [3, '4.5']
print(a + b) # [1, 2, '1.1', True, 3, '4.5']
c = a + b
print(c) # [1, 2, '1.1', True, 3, '4.5']
a = [1,2,'1.1', True]
a[1:3] = [100, 100]
print(a) # [1, 100, 100, True]
修改下标为1 到 3(不包含)的元素值
列表属于序列,可以使用for
进行循环
a = [1,2,'1.1']
for val in a:
print(val) # 1,2,'1.1
使用in
和not in
进行成员关系检测,判断成员是否在列表中
set1 = ['a','b','c']
if 'a' in set1:
print('a in set1')
if 'd' not in set1:
print('d not in set1')
a = (1,2,'1.1', True)
print(a[1:3]) # (2, '1.1')
a = (1,2,'1.1', True)
b = (3, '4.5')
c = a + b
print(c) # (1, 2, '1.1', True, 3, '4.5')
a = (1,2,'1.1', [0,1,2,3])
a[3][0] = 100
print(a) # (1, 2, '1.1', [100, 1, 2, 3])
使用in
和not in
进行成员关系检测,判断成员是否在元组中
set1 = ('a','b','c')
if 'a' in set1:
print('a in set1')
if 'd' not in set1:
print('d not in set1')
元组属于序列,可以使用for
进行循环
a = (1,2,'1.1')
for val in a:
print(val)
- 字面量
a = {1,1,1,2,3}
- 使用
set()
函数
a = set({1,2,3,1,1})
print(a) # {1, 2, 3}
集合中的元素不可重复,因此可以进行去重
a = {1,1,1,2,3}
print(set(a)) # {1, 2, 3}
集合属于序列,可以使用for
进行循环
a = {1,2,3}
for val in a:
print(val)
使用in
和not in
进行成员关系检测,判断成员是否在集合中
set1 = {'a','b','c'}
if 'a' in set1:
print('a in set1')
if 'd' not in set1:
print('d not in set1')
a = {1,2,3}
b = {3,4,5}
print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a - b) # 差集 {1, 2}
print(b - a) # 差集 {4, 5}
print(a & b) # 交集 {3}
print(a ^ b) # 补集 {1, 2, 4, 5}
- 键(key)必须使用不可变类型
- 同一个字典中,键(key)必须唯一
字典属于序列,可以使用for
进行循环,但默认循环的是key
a = {'a':1,'b':2}
for key in a:
print(key) # a b
将键值同时遍历出来:
a = {'a':1,'b':2}
for key in a.items():
print(key)
'''
('a', 1)
('b', 2)
'''
遍历键:
a = {'a':1,'b':2}
for key in a.keys():
print(key)
'''
a
b
'''
遍历值:
a = {'a':1,'b':2}
for key in a.values():
print(key)
'''
1
2
'''
使用in
和not in
进行成员关系检测,判断成员是否在集合中
set1 = {'a':1,'b':2}
if 'a' in set1:
print('a in set1')
if 'd' not in set1:
print('d not in set1')
center()
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格
def diamond(n):
for i in range(n):
print((' * '*i).center(n*3))
for i in range(n,0,-1):
print((' * '*i).center(n*3))
diamond(7)
def fibonacci(n):
dp = [1,1]
for i in range(2,n):
res = dp[i-2] + dp[i-1]
dp.append(res)
return dp[n-1]
print(fibonacci(7))