print()里的参数end默认为’\n‘
a = [['a','b','c'],(12,3,'a')]
for x in a:
for y in x:
print(y, '',end = '')
print(x)
————————————————————————
巧妙地利用循环与结构,让结构更加精简,高性能,封装性
a = [1,2,3,4,5,6,7,8]
for i in a:
if i%2 ==0:
continue
else:
print(i)
for i in a:
if i in range(1,len(a),2):
print(i)
for i in range(len(a),2):
print(a[i])
for i in a[::2]:
print(i)
————————————————————————
对于while循环一定要设置条件跳出循环,否则容易陷入无限循环,此使可按ctr+c强制跳出
i = 10
while i < 10:
print(i)
i+=1
————————————————————————
1.包(文件夹)----->子包(文件夹)、模块(py文件)------>类(文件内容)----->方法、变量(细胞)
2.文件夹要成为包,则必须包含一个__init__.py的子文件(可以是空,可以是非空),导入包后,或者该包的一个模块后,该文件会自动被执行
3.一个模块引用另模块的变量,可以通过设置在被引用模块中设置一个__all__=[‘a’,‘c’]来限制可引用的变量,
__all__=['a','c']
从而 from module import *后,只会引入’a’,‘c’。
同时可以在包的__init__的模块中通过设__all__=[module1,module2,…]来限制引入包后能引入哪些模块
—————————————————————————
一个包中__init__.py的作用
## 在包xx的__init__.py中
import datetime
import io
import sys
__all__ = ['a','b','module1','module2']
从而在引入包xx后,init.py会自动被执行,自动引入了datetime等其它包或模块,同时因为__all__会限制
##小记所有的__init__都像是初始化(包中的py文件,或类中的)
—————————————————————————
代码太长可以加一个\来换行
print('eodoofpdpdpppajijd\
didfjslsdkd')
避免包的循环引入
引入一个模块后,该模块的代码会全部执行一遍,由于模块中一般都是类(设计层面),所以不会有显性的反应
276

被折叠的 条评论
为什么被折叠?



