码迷,mamicode.com
首页 > 编程语言 > 详细

python脱产4期内容整理NO.18

时间:2018-10-13 19:58:16      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:可迭代对象   res   字符串   init   1.2   作用   执行   bsp   反转   

今天主要讲的内容有:

一、包的详解
二、相对导入和绝对导入
三、内置模块补充

一、包的详解

  1、包是什么

    包其实也是一个模块,只不过是一个大的模块下包含一堆模块的载体
    本质上也是一个文件夹,与普通文件的区别在于其中包含一个init的文件

  2、包的作用

    包的作用就是提高代码的可读性和扩展性

  3、怎么使用包

    创建一个package文件夹,在该文件下创建多个文件
    使用包和调用模块一样,import 包名

  4、init文件的作用

    模块调用会发生一下三种情况:
      1.会创建一个名称空间
      2.会执行模块中的代码
      3.在执行文件中产生的名称指向模块名称的空间

    但包是一个文件夹是包不是文件,所以init在导入包时,就执行了包上模块功能

    好处:可以在init文件下调用多个模块中的功能,就无需在挨个查找

    总结:init其实是讲所有模块名导入到该文件下,继而将所有模块名称下的功能导入其中

    注意:由于init文件作为模块导入,所以sys.path中不包含该目录,所以导入时要制定该名

  5、包的嵌套

    定义:包的嵌套的就是包中有包的意思,包中的包被称为子包
    要是用子包中的内容和模块方法一样,在子包中的init中导入需要的内容,但要注意不管                  是子包都是做为模块导入的

    调用sys.path中肯定不包含子包路径,导入时需要从文件目录往下找

 

  6、导入需要注意的事项

    1.使用import导入模块时可以加点来访问下层
    2.注意点的左边必须是包名
    3.在import后面不可以有点,必须有一个明确的名字

    

二、相对导入和绝对导入

  1、相对导入的定义

    从sys.pash开始的完整路径开始导入

  2、绝对导入的定义

    相对于被导入模块的路径
    语法为 "."表示当前路径,”.."表示上一层路径,“..."上上层的路径 以此类推

  3、注意事项:
    1.建议不超过三层
    2.相对导入只能用于包的内部模块之间的调用

  4、常见的错误演示

    绝对导入时没有从当前文件开始
    执行文件中用了绝对导入
    跳出了顶层包的范围

三、内置模块的补充

  

print(complex(1))
#complex 转换为复数形式

print(dir())
#查看内置属性和方法,不传参数就是当前对象

print(divmod(10,3))
#执行除法运算,返回商和余数

print(enumerate(["a",2,3,4]))
#将值和索引组成元组

print(globals())
#查看全局空间中有哪些名称

def func():
    x=100
    print(locals)
func()
#locals 查看局部空间有哪些名称

print(hash([1,2,3]))
#不可变类型可hash 可变类型不可hash

print(help())
#查看帮助信息

li=[1,2,3,4]
res=li.__iter__()
res.__nest__()
iter(li)
next(res)
#可迭代对象和可迭代器对象

print(len(li))
#代表长度

print(id(100))
print(memoryview("100".encode("utf-8")))
#id和memoryview 找内存地址

print(pow(2,3,3))#2**3%3
#2的三次方除3

print(type(str([1,2,3])))
#返回对象字符串的表示

print(list(reversed([1,2,3])))
#reversed反转顺序

print(round(1.2))
#四舍五入

res=slice(1,3)
li=[1,2,3,4,5,6,7,8,9]
print(li[1:3])
print(res)
#slice切分的意思

print(list(zip([1,2,3],[3,2,1])))
#zip拉链函数将多个可迭代对象中的数据一一对应

print(vars())
#不传参数和locals一样,如果传参那就调用这个对象的__dict__

 

    

python脱产4期内容整理NO.18

标签:可迭代对象   res   字符串   init   1.2   作用   执行   bsp   反转   

原文地址:https://www.cnblogs.com/wuzhengzheng/p/9778227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!