循环、导入import与入口文件

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开头的不能用相对导入。
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值