python模块基础

封装分类

(1)容器:(对数据的封装)

  • 列表 特性: 有序,可以修改,元素可以重复,按照索引查询
        list1 = [1,1,2,2,3,3]
        print(list1)
        print(list[1])
        list1[1] = 100
    
  • 元组 特性: 有序,不可修改,元素可以重复,按照索引查询
        tuple1 = (1,1,2,3,4,4)
        print(tuple1)
        # 元组不允许修改,从而保证数据安全性
    
  • 字典 特性: 键值对,无序,可修改,键不可重复,值可重复
        xinHuaDic = {
            "一": "表示数字1",
            "二": "表示数字2",
        }
    
  • 集合 特性:无序,不可修改,元素不可重复
        set1 = {1,1,2,2,3,3}
        print(set1)
        # 返回值 {1, 2, 3}
    

    集合应用场景: 去重

容器总结:

  • 有序与否:键值(索引)访问速度更快,效率更高。
  • 修改与否:不可以修改,安全性更高。
  • 重复与否:去重,减少数据冗余。

(2)函数:(对语句的封装)

# 1~N的累加和
def sumToN(n):
    s = 0 
    for i in range(11):
        s += i
    return s
print(sumToN(11))
print(sumToN(101))

(3)类:(不仅对方法和属性的封装,也是对函数和数据的封装)

# 定义类
class People:
    age = 1
    name = "宝宝"

    def eat(self):
        print("我要吃饭!")

# 实例化对象
xiaoming = People()
xiaoming.age = 19
xiaoming.name = "万孝明"
xiaoming.eat():

模块

概念

模块也是一组代码,这些代码被封装到一个单独的文件当中,这个文件我们称之为“模块”
特点:模块是更高级的封装
主要应用:优化工具类/模块, 对于重复性功能可以整理优化

vim myMath.py

def sumToN(n):
    s = 0 
    for i in range(n+1):
        s += i
    return s

导入模块

vim test.py

# 引入模块方法一
# 注意路径问题
import myMath 
s = myMath.sumToN(10)
print(s)

vim test1.py

# 引入模块方法二 推荐
# 只能导入一个方法/函数
from myMath import sumToN 
s = sumToN(10)
print(s)

vim test3.py

# 引入模块方法三,
# \* 表示导入所有函数,不推荐使用
# 需要注意:使用 * 会影响到代码中的相同名的函数,导致调用错误
from myMath import *
print(sumToN(10))

vim test4.py

# 引入模块方法四,
# 解决搜索路径的问题:模块包与代码文件不在一个文件夹下面
# 需要将模块放到系统 python 默认的包管理文件夹 sys.path.append 实现功能
import sys
sys.path.append('模块包的绝对路径')

import myMath
print(myMath.sumToN(10))

你可能感兴趣的:(python模块基础)