一.基础

#导入模块
import xxx #调用 xxx.dd()
from xxx import xx  as dd #导入某个函数,as给函数加别名,调用xx() #包
mkdir sources
touch sources/xx.py
touch sources/init.py #可以是空的
from sources import xx
xx.get_name('cc') from collections import defaultdict
periodic_table = defaultdict(int)
periodic_table['Lead'] #默认给所有键赋值0 def no_idea():
    return 'Huh?'
bestiary = defaultdict(no_idea) #传递的是函数 bestiary = defaultdict(lambda: 'Huh?') #lambda也可以默认值 #标准函数
def hello():
    print("dasd") user_name(a='xx',b='dd') #位置参数和关键字参数、
def user_name(a,b='xx') #默认值
    global a #将a转换为全局变量
    a = 'xx' #赋值
return xx #返回值,可以是变量等 name = user_name('xx','dd') #字符串拼接
def user_name(*a) #a将为一个空元组,可以存储任意多个实参
def user_name(b,c,*a) #填充前2个,再全部填充到后面
def user_name(b,c,**a) #a为字典,可以age='13',name='23'方式传进字典
help(user_name) #打印文档字符串解释
print(echo.__doc__) #得到文档字符串 #返回函数的名称和文档
fuction.__name__
fuction.__doc__ #lambda,冒号以后为函数部分,stairs是第一个参数
edit_story(stairs, lambda word: word.capitalize() + '!') #命名空间
#global
print(locals()) #返回一个局部命名空间内容的字典
print(globals()) #返回全局的
print(id(name)) #打印唯一id值 #表达式
print(getAnswer(random.randint(1, 9))) #函数内修改全局变量
def xx():
    global cc
    cc = 'sdas' #闭包是一个可以由另一个函数动态生成的函数,并且可以改变和存储函数外创建的变量的值。
def knights2(saying):
    def inner2():
    return "We are the knights who say: '%s'" % saying
    return inner2 def rlt(v):
   def product(num):
        return num ** v
   return product
square = rlt(2)
cube = rlt(3)
print(square(2), cube(2))  # 4, 8

二.特殊函数

#生成器 不会记录在内存里,而是用快捷方式记录,并且记录上一次的位置,返回下一个值
sum(range(1,101))  def my_range(first=0, last=10, step=1):
    number = first
    while number < last:
        yield number
        number += step
ranger = my_range(1,5)
for x in ranger: #可以对它进行迭代 #装饰器 不改变源码的情况下修改已存在函数。把一个函数作为输入并返回另一个函数。
def document_it(func):
    def new_function(*args, **kwargs):
        print('Running function:', func.__name__)
        print('Positional arguments:', args)
        print('Keyword arguments:', kwargs)
        result = func(*args, **kwargs)
        print('Result:', result)
        return result
    return new_function def add_ints(a, b):
    return a + b cooler_add_ints = document_it(add_ints) #人工赋值
cooler_add_ints(3, 5) #装饰器可以直接写在要被装饰的函数前面,可以有多个,按顺序执行
@document_it
def add_ints(a, b):
    return a + b
add_ints(3, 5) #命名空间
locals() 返回一个局部命名空间内容的字典 #只能函数内打印
globals() 返回一个全局命名空间内容的字典 #特殊
function.__name__ #函数名称
function.__doc__  #函数文档
__main__ #主程序

Python模块和函数的更多相关文章

  1. Python模块与函数

    python的程序由包(package).模块(module)和函数组成.模块是处理某一类问题的集合,模块由函数和类组成,包是由一系列模块组成的集合.包必须至少包含一个__init__.py文件,该文 ...

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

    开发环境Python版本:3.6.4 (32-bit)编辑器:Visual Studio CodeC++环境:Visual Studio 2013 需求说明前一篇<在C++中嵌入Python|调 ...

  3. 嵌入Python系列 | 调用Python模块中无参数函数

    开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...

  4. Python第十一天 异常处理 glob模块和shlex模块 打开外部程序和subprocess模块 subprocess类 Pipe管道 operator模块 sorted函数 os模块 hashlib模块 platform模块 csv模块

    Python第十一天    异常处理  glob模块和shlex模块    打开外部程序和subprocess模块  subprocess类  Pipe管道  operator模块   sorted函 ...

  5. 自学Python之路-Python基础+模块+面向对象+函数

    自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python    1.1 自学Python1.1-简介    1.2 自学Python1.2-环境的 ...

  6. python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性

    python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性 inspect import inspect def fun(): pass inspect.ism ...

  7. 嵌入Python | 调用Python模块中无参数的函数

    开发环境 Python版本:3.6.4 (32-bit) 编辑器:Visual Studio Code C++环境:Visual Studio 2013 需求说明 在用VS2013编写的Win32程序 ...

  8. python学习笔记十——模块与函数

    第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python pyth ...

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

    目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...

随机推荐

  1. 『学了就忘』Linux软件包管理 — 43、RPM包的校验和证书

    目录 1.RPM包的校验 (1)RPM包校验基本命令 (2)校验某个系统文件是否被修改举例 (3)验证内容中8个信息的具体内容 (4)文件类型有哪些 2.RPM包的证书 (1)数字证书 (2)数字证书 ...

  2. Maven 依赖调解源码解析(七):总结

    本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第七篇,也是最后一篇,主要做个总结.请按顺序阅读其他系列文章,系列文章总目录参见:hhttps://www.cnblogs.c ...

  3. C++和Java中的i+++i++

    1 public class Cd { 2 public static void main(String[]args){ 3 int i = 50 ; 4 System.out.println(i++ ...

  4. es的rest风格的api文档

    rest风格的api put http://127.0.0.1:9200/索引名称/类型名称/文档id (创建文档,指定文档id) post http://127.0.0.1:9200/索引名称/类型 ...

  5. jmeter链接数据库,信息全部填写正确,运行之后没有结果

    之前遇到一个很苦恼的问题,jmeter链接数据库,数据库填写的资料全部都没有问题,在其他电脑jmeter上都可以正常链接,但是在我的电脑上运行却总是不出结果, 用mysql链接数据库也一切正常,一直找 ...

  6. [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础

    [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 目录 [源码解析] PyTorch 分布式 Autograd (2) ---- RPC基础 0x00 摘要 0x0 ...

  7. 目前国内UI设计师的发展现状如何?

    在分析这个问题之前,我们先来说说如何优秀的UI设计师所需要具备的素质是什么,只有做到了以下几点,才有资格在这个行业生存下去的能力,也才有机会展望行业的未来前景. 一位合格的UI设计师必须做到以下3点: ...

  8. 洛谷 P3287 - [SCOI2014]方伯伯的玉米田(BIT 优化 DP)

    洛谷题面传送门 怎么题解区全是 2log 的做法/jk,这里提供一种 1log 并且代码更短(bushi)的做法. 首先考虑对于一个序列 \(a\) 怎样计算将其变成单调不降的最小代价.对于这类涉及区 ...

  9. Mike post process with Matlab toolbox

    表怕,这个博客只有题目是英文的-- Matlab toolbox 安装 去DHI官网下载最新的MikeSDK2014与Matlab toolbox,下载好后安装MikeSDK2014,注意电脑上不能有 ...

  10. echo 输出彩色字符

    借助echo的-e选项来实现,语法格式为 echo -e "\033[3xmsome things you want to print out.\033[0m" \033[3xm为 ...