007 Python 模块及函数

# Python
  ● 别人写好的东西(库)
    A:*foo1 foo2 foo3 foo4
    B:*foo2 foo1 foo3 foo4
    from XX import XX
    from XX 就是 包的东西
  ● __XX__.py 不对外公开的

1 #fileDemo.py
2 # -*- coding: UTF-8 -*-
3
4 def FooDemo():
5     print("FillDemo.FileDemo.FfooDemo()")
6     
1 #Demo.py
2 # -*- coding: UTF-8 -*-
3 from fileDemo import FooDemo
4
5 FooDemo()

  ● 作业讲解
    新建 Shop.py
    新建 Login.py

    ○ with open("userinfo.txt") as file:
      相当于同时做了下面的两句代码
      就不用担心文件没有关闭了
    file = open("userinfo.txt") #r 读方式打开文件
    file.close()

 1 #login.py
 2 # -*- coding: UTF-8 -*-
 3 userinfos = []
 4 with open("userinfo.txt") as file:    #确保数据的及时性
 5     for item in file.readlines():
 6         userinfos.addend(item)
 7 def login(name,psw):
 8         for userinfo in userinfos:
 9             temp = userinfo.split()
10             if name == temp[0] and psw == temp[1]:
11                 return True        #登陆成功
12         else:
13             return False        #登陆失败    
 1 #Shop.py
 2 # -*- coding: UTF-8 -*-
 3 from Login import login
 4 #登陆
 5 name = input("Logo ID:")
 6 psw = input ("\r\nLogo Psw:")
 7
 8 if(login(name,psw)):
 9     print("\r\nOK")
10 else:
11     print("\r\nNO")
12     

  ● 两个文件哪个先运行的
    ○ 导入的文件,会先执行一次代码。
    ○ 由于Python 是一个解释语言,Main函数不存在 .py内
    ○ __name__ 每个程序都有一个默认的变量
      如果是执行代码的文件会是 一个 __main__

 1 #logo.py
 2 # -*- coding: UTF-8 -*-
 3 print(__name__)
 4 userinfos = []
 5 with open("userinfo.txt") as file:    #确保数据的及时性
 6     for item in file.readlines():
 7         userinfos.append(item)
 8 def login(name,psw):
 9         for userinfo in userinfos:
10             temp = userinfo.split()
11             if name == temp[0] and psw == temp[1]:
12                 return True        #登陆成功
13         else:
14             return False        #登陆失败
15
16
17 if __name__ == ‘__main__‘:
18     if login(input("Name:"),input("\r\nPassWord")):
19             print("\r\nOK")
20     else:
21         print("\r\nNo")
 1 #Shop.py
 2 # -*- coding: UTF-8 -*-
 3 from Login import login
 4 #登陆
 5
 6 if __name__ == ‘__main__‘:
 7     name = input("Logo ID:")
 8     psw = input ("\r\nLogo Psw:")
 9
10     if(login(name,psw)):
11         print("\r\nOK")
12     else:
13         print("\r\nNO")
 1 #User.py
 2 # -*- coding: UTF-8 -*-
 3  form Login import login
 4  def UserPay(name,psw,money):
 5      if login(name,psw):
 6          print("授权成功开始扣费”)
 7          with open(file) as data:
 8             for item in data.readlines():
 9                 userinfo = item.split()
10                 if name == userinfo[0]:
11                     userinfo[3] -= money
12      else
13           print("授权失败")

  ● 函数的方式

    def foo(*arg):  

      一个星号是列表传输的

    def foo(**arg):

      两个星号是字典进行传输的  

时间: 2025-01-05 04:15:48

007 Python 模块及函数的相关文章

嵌入Python | 调用Python模块中有参数的函数

开发环境Python版本:3.6.4 (32-bit)编辑器:Visual Studio CodeC++环境:Visual Studio 2013 需求说明前一篇<在C++中嵌入Python|调用无参数的函数>中我们成功的在C++主程序中嵌入了Python,并且调用了Python模块中的一个无参数的函数.这一篇我们将在此基础上,实现在主程序中调用Python模块中有参数的函数,使两者互动起来. 0 准备say_hi.py模块 在say_hi.py中增加含有一个参数的函数prt_hello和含有

python协程函数、递归、匿名函数与内置函数使用、模块与包

目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a.生成器相关python函数.装饰器.迭代器.生成器,我们是如何使用生成器的.一个生成器能暂停执行并返回一个中间的结果这就是 yield 语句的功能 : 返回一个中间值给调用者并暂停执行. 我们的调用方式为yeild 1的方式,此方式又称为生成器的语句形式. 而使用生成器的场景:使用生成器最好的场景就

Python自动化开发课堂笔记【Day04】 - Python基础(函数补充,模块,包)

表达式形式的yield yield的语句形式: yield 1yield的表达式形式: x=yield 1 x=yield 2 g.send('1111') #先把1111传给yield,由yield赋值给x,然后再往下执行,直到再次碰到yield,然后把yield后的返回值返回 协程函数示例 1 def gen(func): 2 def wrapper(*args,**kwargs): 3 res = func(*args,**kwargs) 4 next(res) #相当于next(g)或者

【Python 生成器 匿名函数 递归 模块及包的导入 正则re】

一.生成器 1.定义 生成器(generator)是一个特殊的迭代器,它的实现更简单优雅,yield是生成器实现__next__()方法的关键.它作为生成器执行的暂停恢复点,可以对yield表达式进行赋值,也可以将yield表达式的值返回. 也就是说,yield是一个语法糖,内部实现支持了迭代器协议,同时yield内部是一个状态机,维护着挂起和继续的状态. yield的功能: 1.相当于为函数封装好__iter__和__next__ 2.return只能返回一次值,函数就终止了,而yield能返

Head First Python 第二章 函数模块&amp;第三章 文件与异常&amp;第四章 持久存储&amp;第五章 处理数据

第三章 1.共享模块 模块和发布工具箱全世界共享模块 编写函数,以.py为文件后缀名,第三方库都在PyPI *注释代码:三引号(单双都可以) 发布过程P40 使用发布工具,函数模块变成了一个“发布”,可以使用import导入其他程序 2.如果函数模块功能不满意 添加参数以供api选择比添加函数工作量小! 首先考虑BIF内置函数 ----------------------------------------------------------- 第四章 1.文件 open()语句,readlin

python基础11 ---函数模块1

函数模块 一.函数模块的作用(为什么要有函数模块) 1.函数模块可以减少代码量 2.函数模块方便阅读 3.函数模块维护性强二.函数模块的本质以及调用方法 1.函数模块的本质就是一个.py结尾的文件,该文件内写入大量函数 2.必须用import来引用函数模块,在调用函数模块时必须以"模块名.函数名"来调用函数模块中的函数. 3.有的时候我们只需要用到模块中的某个函数,也可以用"from 模块名 improt 函数1,函数2"的方式来引用该模块,但只是一次引用,不建议使

Python(2):创建函数模块

说明: 在使用python的时候我们除了使用内置的函数之外,可能还需要使用一些别人写的函数.或者我们写的代码也希望可以给其他人使用.要实现这样的功能,我们就需要按照下面的步骤来定义自己的模块: Step1:新建一个py文件 首先我们将前面一章所写的打印列表的函数保存为一个.py文件,假设我这里保存为 kider.py. 1 """ 2 这是一个打印列表的函数,如果列表中有嵌套的列表也会展开打印出来 3 """ 4 def print_list(m

python re 模块 findall 函数用法简述

python re 模块 findall 函数用法简述 代码示例: 1 >>> import re 2 >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " 3 4 >>> reObj1 = re.compile('((\w+)\s+\w+)') 5 >>> reObj1.findall(s) 6 [('adfad asdfasdf', 'adfad'), ('a

python模块--时间模块

一.python中时间介绍: python中时间的表示形式有两种: 1.时间戳表示法,即以整型或浮点型表示的是一个以秒为单位的时间间隔.这个时间的基础值是从1970年的1月1号零点开始算起. 2.元组格式表示法,即一种Python的数据结构表示.这个元组有9个整型内容.分别表示不同的时间含义. 二.datetime模块 2.1 datetime模块的所有函数 In [2]: dir(datetime) Out[2]:  ['MAXYEAR',  'MINYEAR',  '__doc__',  '