python封装函数调用

封装函数-模块
定义:  一个.py文件就是一个模块(把一个函数写入py文件中存起来被其它py文件调用)

1.模块管理函数
定义: 模块管理函数就是将函数的定义放到一个.py文件中.可以在其他.py文件中通过import关键字导入模块.导入

后就可以使用模块名+函数名的方式去使用其他模块中的函数.(也就是说把一个函数独立封装到一个py文件中,在另

一个py文件中,要想使用这个函数,首先导入模块名,然后再调用模块中的函数名(模块名就是把函数封装到那个py文件的文件名))

注意: 模块中的变量不能在模块之外单独使用,模块中的变量只针对模块中的代码使用(比如:你想在py文件1中调用

py文件2中的变量,那是不得行的.)

2.使用模块
方法(1):
要想使用模块中的函数需要:模块名+函数名
  

import  module  #这个module就是封装函数的那个文件名
aa = module.sum(1, 2)   #模块名.函数名
print(aa)


方法(2):
导入指定模块中指定的函数:form 模块名 import 函数名
  

form module import count_letter_number     #例如导入以下函数
​


import的功能:相当于把被导入的模块中的代码拷贝到import的位置.
方法(3):
如果函数名相同,我们又想不改变函数名.可以通过as关键字可以更改模块名和函数名.目的是防止命名相同,产生冲突.

form module import count_letter_number as sum     #这里的sum是将封装好的函数名count_letter_number在调用时零时更改为sum



注意: 函数如果同名:后面的函数会覆盖前面的函数.模块下的函数名与被导入模块中的函数名相同时,则会执行模块下的函数,不会执行模块中的函数.
3.不导入执行语句,只导入函数

if __name__ == '__main__':     #把它看成一把闭加锁


  
使用它就相当于一把锁.把执行语句放在它下面可以阻止其它模块去执行这些内容.要想不被模块调用函数中的执行语句,就把函数名放在它下面,保护起来.
例如:

def count_letter_number(string):
    letter_count = 0
    digit_count = 0
    for ch in string:
        if 'a' <= ch <= 'z' or 'A' <= ch <= 'Z':
            letter_count += 1
        elif '0' <= ch <= '9':
            digit_count += 1
    return letter_count, digit_count
​


# 比如我们只想导入以上这一部分函数,不需要导入以下的main()函数,那么我们就把main()函数执行的返回值放在if里面.main()函数只能在本文件名中执行,不会被其他模块调用.

def main():
    print(count_letter_number('a1b2c3d4'))  # (4, 4)
    print(count_letter_number('a123456b'))  # (2, 6)      #执行语句
    print(count_letter_number('123456!!'))  # (0, 6)
​
if __name__ == '__main__':
    main()
# 总结:如果对封装的函数返回的结果不想在导入的模块中执行,那么就把函数执行返回的函数名放在if __name__ == '__main__':下面保护起来.它就相当于一把闭加锁。


 

  • 10
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值