循环、导入import与入口文件

xiaoxiao2021-02-28  73

1. while condition else    while 语句里面要有能够控制变量的语句,否则会造成死循环。    else 就是当while 的条件语句返回是false的时候执行    场景:设置个目标,目标达成了执行else;递归的场景比较适用while 2. for else    主要用来循环/遍历 序列或者集合、字典    else 正常循环结束的时候执行,如果是break导致的异常结束,则不会执行。    break,强制终止当前循环,并且之后的循环都不会执行了;2 3 4 5都不会执行了,如果有else也不会被执行。      for x in a: if x == 2: break print(x)    continue,强制终止当前循环,但是后续的还会继续执行    多维度循环,如果有break,也只是break里面的循环。 3.for range 重复指定循环次数的代码。类同for(i=0,i<10,i++)    for x in range(0,10) print(x)   range(0,10)左闭右开,或者是从0开始,10的偏移量。   range(0,10,2)步长2,   range(10,0,-2)   a = [1,2,3,4,5,6,7,8]   b = a[0:len(a):2] 4.Python组织结果:包、模块、类(函数、变量)   包、如果想让一个文件夹成为包,必须有个特定的文件__init__.py   模块,物理表现就是.py文件    5.from import导入变量   from p import m 单个变量a,单个变量b   from p import * 全部变量   被引入的模块,如果定义模块内置变量__all__ =['a','b'],则导入的时候则导入a和b 6.__init__.py的用法   导入变量换行,/的方式,或者()的方式,from p import (a,b   c)   init可以用作批量导入,可以是包也可以是模块,如果是包,用的时候需要用包.模块的方式使用。   如果没有这个__init__.py,则不是包,导入包或者包下面某个模块、变量的时候默认是自动执行的。   init如果有__all__ ,里面包含模块m1,则表示导入的内容只包含模块m1 7.包和模块的几个常见错误   包和模块是不会被重复导入的,去重的。   避免循环导入,   导入一个模块的时候默认会执行那个模块的所有代码。但是不管其他人导入多少次,被导入的模块也只会执行一次。 8.模块内置变量   模块可以当做是一个文件,但是实际上模块还是有很多内置变量   print(dir()),dir函数返回模块的所有变量   __name__:包.模块   __package__:包   __doc__:模块的注释,用的是'''Thie is a doc'''   __file__:文件路径 9.入口文件和普通模块内置变量的区别   print('package:' + (__package__ or '当前模块不属于任何包'))--nonetype代表false,字符串不能喝NoneType相加   入口文件__package__,是没有值的,也就是说python认为入口文件的顶级不属于任何包(即使真的有__init__.py)   入口文件的__name__=__main__   入口文件的__file__:不一定是确定的值,跟当前python执行路径有关 10.__name__的经典应用 if __name__ =='__main__'   Make a script both importable and executable。 11.相对导入和绝对导入   绝对导入:导入的时候需要关注入口文件所在的位置,跟入口文件同一级别的才算顶级包,导入才可以用顶级包.的形势。   相对导入:.个点代表当前目录;..代表上一级目录   入口文件不能用相对导入,只能用绝对路径。除非将入口文件当做模块 python - m的方式。   from 开头的导入才能用相对导入,import开头的不能用相对导入。   
转载请注明原文地址: https://www.6miu.com/read-2621718.html

最新回复(0)