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开头的不能用相对导入。
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开头的不能用相对导入。