8.15(day16)模块的四种形式,import与from,,,import,循环导入,模块搜索路径,Python文件的两种用法,random模块...

复习

函数的定义

def 函数名():
    code
    return 返回值

定义函数的三种方法

  1. 有参函数
  2. 无参函数
  3. 空函数

函数返回值

  1. return 终止函数
  2. 返回值 可以返回多个值, 以元组形式存储
  3. 默认返回None

Nonetype ....

函数调用

函数名()

函数的参数

形参

描述意义

位置形参

一个一个从左到右

默认形参

默认值, 默认形参必须放在位置形参的后面

实参

具有具体的值

位置实参

一个一个从左到右传值给形参

关键字实参

键值对的形式传给形参 ; 关键字实参必须放在位置实参的后面

可变长参数

*

形参

接收多余的位置实参,以元组的形式存储

实参

打散元组,以位置实参的形式传参给形参

**

形参

接收多余的关键字实参,以字典的形式存储

实参

**{'a':1} --> a=1

打散字典,以关键字实参的形式传给形参(形参必须得有这个key的形参名)

函数对象

  1. 引用
  2. 函数的参数
  3. 函数的返回值
  4. 容器类元素

函数对象 是 函数名 == 变量名

函数的嵌套

def f1():
    def f2():
        pass

名称空间和作用域

  1. 内置
  2. 全局
  3. 局部

执行顺序: 内置 --> 全局 --> 局部

查找顺序: 当前 --> 局部 --> 全局 --> 内置

全局作用域:

局部作用域

  1. 全局作用域(x=1)和局部作用域的(x=3)毫无关联
  2. 局部作用域1的(x=1)和局部作用与2的(x=3)毫无关联

闭包函数

把函数A和变量x包在函数B内部,然后通过函数B的返回值返回出函数A对象

def B(x):
    # x = 1 
    def A():
        print(x)
        pass
    return A

装饰器

用来给函数加功能的,他的本质也是函数

  1. 不改变被装饰函数的源代码
  2. 不改变被装饰函数的调用方式
def outter(func):
    def wrapper(*args,**kwrags):
        # 逻辑
        res = func(*args,**kwargs)  # func是被装饰的函数
        return res
    return wrapper

@outter
def index():
    pass



def sanceng(engine):
    def outter(func):
        def wrapper(*args,**kwrags):
            # 逻辑
            res = func(*args,**kwargs)  # func是被装饰的函数
            return res
        return wrapper
    return outter

@sanceng(engine)
def index():
    pass

迭代器

可迭代对象: 具有iter方法的对象, 可迭代对象不一定是迭代器对象

迭代器对象: 具有iter和next方法的对象, 迭代器对象一定是可迭代对象, 迭代器对象加上iter方法还是迭代器本身

for 循环原理

for i in lt:

  1. 把lt变成迭代器对象
  2. 然后迭代使用next方法获取每一个元素
  3. 捕捉异常中断while循环

三元表达式

print(1) if i > 10 else print(2)

列表推导式

[i for i in range(10)] # 0-9已经拿出来了

字典生成式

{k:v for k,v in dic.items()}

生成器表达式

(i for i in range(10)) # 不去使用next取值,是没有值的

生成器

自定制的迭代器

def func():

​ yield

yield:

1. 暂停函数,遇到下一个yield继续运行函数体代码
  1. 具有返回值
  2. 让函数()变成生成器对象

return:

1. 终止函数
  1. 返回值

递归

函数调用函数本身,但是必须得有结束条件

内置函数

内置函数是直接用的,属于python解释器的

数据类型的内置函数只有数据类型本身才能使用

enumerate()

面向过程编程

流水线

优点: 思路清晰

缺点: 可扩展性差 ; 功能与功能之间不独立 ; 调试麻烦

模块的四种形式

1.自定义模块

2.第三方模块

3.内置模块

4.包,一系列模块组织在一起的文件夹

import 和 form,,,import

# import 与 from import
# import .直接调用模块
# 1.生成名称空间
# 2.运行time.py文件,把time.py文件名称空间放入time名称空间,
# 3.time导入import或from,,,import  的名称空间
# import  time
# time.方法()   不能直接用方法名

# form time import gmtime
# print(gmtime())
# 1.内存中生成time名称空间
# 2.
# 3.把gmtime方法直向import和from import .py(当前导入time模块的文件)的名称空间
# 多个时
# from time import gmtime,   ,       ,

循环导入

模块搜索路径

Python文件的两种用法

第一种:执行文件

第二种:模块文件

random模块

# random模块   随机数
# import random   导入
# print(random.random())   随机0到1的小数
#
# print(random.randint(1,3))   不会去3
#
# print(random.randrange(1,3))   [1.3)之间整数
#
# print(random.uniform(1,3))   取小数(1.3)
#
# print(random.choice([1,'23',[4,5]]))   随机取一个
#
# print(random.sample([1,'23',[4,5]],2))   容器中选择多个
#
# lis = [1,3,5,7,9]   打乱容器
# random.shuffle(lis)
# print(lis)

转载于:https://www.cnblogs.com/jiann/p/11529033.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章Python基本 6 一Python 简介 6 (一) Python 定义 6 (二) Python程序的执行方式 7 (三)Linux常用命令 7 (四)执行过程 8 (五)解释器类型 8 (六)调试 9 二 数据基本运算 9 (一)pycharm常用快捷键(编译器) 9 (二) 函数 函数名(参数) 10 (三)变量 存储数据 11 (四)del 语句 14 (五)核心数据类型 14 (六)数据类型转换 16 (七)运算符 17 三 语句 23 (一)行 23 (二)pass 语句 23 (三)选择语句 24 (四)循环语句 25 (五)跳转语句 30 (六)print相关函数 30 四 容器类型 30 (一)通用操作 30 (二)字符串 str(不可变序列+字符编码值) 33 (二) 列表 list (预留空间+可变序列+储存变量) 35 (四) 元组 tuple(按需分配+不可变序列+存储变量) 44 (五) 字典 dict (按键取值+可变散列+存储键值对) 46 (六) 集合 set (去重复/数学运算+存储键+可变散列) 52 (七)固定集合 frozenset 54 五 函数 function(小而精) 55 (一)pycharm相关设置 55 (二)定义 55 (三)作用 56 (四)定义函数 56 (五)调用函数 56 (六)返回值 57 (七)可变/不可变类型在传参时的区别 58 (八)函数参数 59 六 作用域LEGB 66 (一)变量名的查找规则 66 (二)局部变量 66 (三)全局变量 66 (四)global 语句 67 (五)nonlocal 语句(外部嵌套) 67 第二章 面向对象 Object Oriented 68 一 概述 68 (一)面向过程 68 (二)面向对象 68 二 类和对象 69 (一)语 70 (二)实例成员 72 (三)类成员 75 (四)静态方 76 (总结)类和对象 77 三 三大特征 78 (总结)三大特征 78 (一)封装(按需求分,按行为分) 78 (二)继承(抽象 -> 统一 -> 隔离) 86 (三) 多态 90 四 设计原则 95 (总结)设计原则 95 (一)开-闭原则(目标、总的指导思想,增加不改变原代码) 95 (二)类的单一职责(一个类的定义) 96 (三)依赖倒置(依赖抽象) 96 (四)组合复用原则(复用的最佳实践) 96 (五)里氏替换(扩展重写,继承后的重写,指导继承的设计) 96 (六)迪米特则(用父类减少传递数据量,类与类交互的原则) 97 第三章 模块包+函数式编程 98 通用:快捷键 98 一 模块 Module 98 (一)定义: 包含一系列数据、函数、类的文件,通常以.py结尾。 99 (二)作用 99 (三)导入 99 (四) 模块变量 100 (五)加载过程 100 (六)分类 101 (七)搜索顺序 102 二 包package 102 (一)定义:将模块文件夹的形式进行分组管理。 102 (二)作用:让一些相关的模块组织在一起,使逻辑结构更加清晰。 102 (三)导入 102 (四) 搜索顺序 103 三 异常处理Error 104 (一)异常 104 (二)处理 105 (三)raise 语句 106 (四)自定义异常:为了快速传递错误信息 108 四 迭代 108 (一)可迭代对象iterable 109 (二) 迭代器对象iterator 110 五 生成器generator 113 (一)生成器函数 114 (二)内置生成器 116 (三)生成器表达式 116 六 函数式编程 118 (一)函数作为参数 119 (二)内置高阶函数 122 (三) 函数作为返回值 124

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值