Python 基础
变量
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。
常量
但事实上常量仍然是一个变量,Python根本没有任何机制保证常量不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法
List和Tuple
classmates = ['Michael', 'Bob', 'Tracy']
print(classmates) >>> ['Michael', 'Bob', 'Tracy']
List可以获得倒数元素
Print(classmates[-1]) >>> 'Tracy'
切片:
L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']
列表生成式
list(range(1, 11)) >>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[x * x for x in range(1, 11)] >>> [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
生成器
>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
<generator object <genexpr> at 0x1022ef630>
创建L和g的区别仅在于最外层的[]和(),L是一个list,而g是一个generator。
可以通过next(g)得到generator的下一个返回值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。
或者使用for循环
g = (x * x for x in range(10))
for n in g:
print(n)
list和tuple是Python内置的有序集合,一个可变,一个不可变。
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
条件判断
If condition_1:
Dosomething
Else if conditon_2:
Do another thing
Else:
Do nothig
循环
For循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
sum = 0
for x in range(101):
sum = sum + x
print(sum)
以直接作用于for
循环的数据类型有以下几种:
一类是集合数据类型,如list
、tuple
、dict
、set
、str
等;
一类是generator
,包括生成器和带yield
的generator function。
这些可以直接作用于for
循环的对象统称为可迭代对象:Iterable
。
enumerate()
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
while
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
字典
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])>>> 95
函数
Deffunction_name(input_1 , input_2, ….):
Output_1 = input_1
Output_2 = input_2
Return Output_1, output_2
当返回值为多个时,返回值为tuple