复习

1. 字符串的比较:

2. 函数的参数:形参与实参

3. 实参的分类:位置实参与关键字实参

4. 形参分类:

1.无值位置形参

2.有值位置形参

3.可变长位置形参

4.有无值关键字形参

5.可变长关键字形参

5. 打散机制

今日内容

1. 函数默认值的细节。*

2. 数据类型的补充:语法简单,经常去使用就OK ***

----- 三元表达式  |  列表推导式  |  字典推导式

3. 函数对象:函数名的各种应用场景  *****

4. 名称空间与作用域:解释变量名重复与从图冲突问题  *****

5. 函数的嵌套定义:在函数内部定义函数  *****

函数默认值的细节

如果函数的默认参数,它的默认值为变量,在所属函数定义阶段执行时就被确为当时变量存放的值。

a = 100

def fn(num=a):

print(num) # 此处打印的值还是100

a = 200 # 此处再次赋值的200并没有被带入函数中

fn()

三元表达式

三目运算符:用于简化 if ...else... 的语法:

----- 只能解决 if...else...结构,其他 if  分支结构都不管

-----一个分支提供一个结果,如果一个分支提供了多个结果,将多个结果通过元祖返回

a = int(input('输入:'))

b = int(input('输入:'))

res = a if a > b else b

print(res)

列表与字典推导式

---快速生成列表或者字典的语法糖。而且还能在生成过程中添加简单的逻辑

1 . 能被列表推导式推到的数据源,必须在循环取值时可以得到一个值

ls = [v for v in range(1,6)]

print(ls) # [1, 2, 3, 4, 5] 快速的创建一个字典

ls = ['奇数'if v %2 ==0 else '偶数' for v in range(1,6)] # 可以使用if...else 与for循环连用,此处if后的v就是经过for循环的v

print(ls) # ['偶数', '奇数', '偶数', '奇数', '偶数']

2. 能被字典推导式推导的数据源,必须在循环取值时可以被解压赋值为两个值

ls = [['A',1],('B',2)]

res = {k.lower():v for k,v in ls} # 字典推导式可以for循环遍历列表总的元素,然后用k,v来接受,来作为它的key和value 还可以对key加功能,比如此处的lower

print(res) # 此处的结果为{'a': 1, 'b': 2}

函数对象

在python中,所有变量存放的值,只要是地址,我们就称之为对象

-----所有的变量都是用来存放地址的,所以都是对象

-----存放整型的地址就是整型对象 |  存放函数的地址就是函数对象  |  存放文件的地址就是文件对象

函数对象:存放函数地址的变量,就是函数对象

def fn():pass

my_fn = fn

# my_fn 存着函数fn()的函数地址,所以都是函数对象,函数对象的使用就是函数对象加()来调用函数

my_fn() # 可以这样来使用

函数对象的应用场景

1. 函数对象()就是调用函数

def fn1():

pass

fn1() # 普通的函数调用

2. 函数对象可以直接作为变量赋值给其他变量

def fn2():

pass

my_fn = fn2

print('>>>',my_fn,fn2) # 此处打印的地址一致,说明函数对象可以作为变量来赋值给其他变量

my_fn() # 依然能调用 此处my_fn 等同与所定义的 fn2 函数

3. 函数对象可以作为函数的参数

def fn3(func): # 所以此处的fnnc 就等同与my_fn 和 fn2

func()

fn3(my_fn) # 此处把my_fn作为了 func的实参所以这个函数所执行的就是fn2函数

4. 函数对象可以作为函数的返回值

def fn4():

return my_fn # 此处这个函数的返回值是my_fn

my_fn2 = fn4() # s所以此处的my_fn2的功能就是my_fn而my_fn的功能是fn2,所以等同于fn2

5. 函数对象可以作为容器类型的成员

ls = [my_fn,my_fn2] # 函数的对象可以作为容器的元素。如果调用,也具有函数的功能

print(ls[0]()) # 可以按照索引来调用

名称空间并不能

队列存储方式: 先进先出

堆栈存储方式:先进后出

名称空间:就是名字与地址的对应关系,可以被python解释器遍历查找,采用堆栈存储方式

三种名称空间:

1. Built - in : 内置名称空间,系统级,一个,随解释器执行而产生,解释器停止而销毁

2. Global : 全局名称空间,文件级,多个,随所属文件加载而产生,文件运行完毕后销毁

3. Local : 局部名称空间,函数级,多个,随所属函数执行而产生,函数执行完毕后销毁

注:文件的 if ,while,for ,with,这些能产生缩减的关键字并不能产生名称空间

4. 加载顺序  Bulit-in  >  Global  >  Local

函数嵌套定义

概念:在一个函数内部定义另一个函数

def outer():

print('outer run')

a = 10 # 函数对象 (变量) 与普通(对象)变量一样,在函数内部定义,随函数调用而产生

# 调用结束而销毁,所以只能在函数内部调用

def inner():

print('inner run')

inner() # 此处inner必须在函数内部调用,在外部是无法调用

outer()

作用域

作用域:变量(名字 | 对象) 起作用的范围

四种作用域

1. Built-in 内置作用域:作用所有文件的所有地方

2. Global 全局作用域 :作用当前文件的所有地方

3. Enclosing 嵌套作用域 :作用当前函数以及内部被嵌套的函数

4. Local 局部作用域 :  作用当前函数内部

注意:

不同作用域之间名字不冲突,来达到名字的重复的使用

每个作用域优先使用自己作用域中的名字,没有再找到更大的名称空间,直到内置。再找不到就会报错

查找顺序:Local  >  Enclosing  > Global  >  Built - in

day_12函数默认值,数据类型的补充,函数对象名称空间与作用域,函数的嵌套定义

复习, 昨天讲了字符串的比较,按照从左往右比较每一个字符,通过字符对应的ASCII码进行比较 函数的参数,‘ 实参与形参 形参:在函数定义时()中出现的参数 实参,在函数调用时()中出现的参数 实参的 ...

python12--字符串的比较 函数的默认值的细节 三元表达式 函数对象 名称空间 作用域 列表与字典的推导式 四则运算 函数的嵌套

复习   1.字符串的比较; 2.函数的参数; ******实参与形参的分类: 3.函数的嵌套调用:     # 字符串的比较#  -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 ...

python 函数的名称空间及作用域

一:名称空间 1:什么是名称空间: 名称空间即:储存名字与值的内存地址关联关系的空间 2.名称空间的分类: 内置名称空间:存储器自带的一些名称与值的对应关系,如:print,len,max等; 生命周 ...

Python 函数对象-函数嵌套-名称空间与作用域-闭包函数

今日内容: 1. 函数对象 函数是第一类对象: 指的是函数名指向的值可以被当中数据去使用 1.可以被引用 2.可以当做参数传给另一个函数 3.可以当做一个函数的返回值 4.可以当做容器类型的元素 2. ...

day12 函数对象,名称空间与作用域

""" 今日内容: 1.函数参数传值细节 2.三元表达式 3.列表及字典推导式 4.函数对象 5.名称空间与作用域 6.函数的嵌套定义初识 ""&qu ...

PYTHON-函数对象,嵌套,名称空间与作用域,闭包函数

一 函数是第一类对象,即函数可以当作数据传递 1 可以被引用 2 可以当作参数传递 3 返回值可以是函数 3 可以当作容器类型的元素 def foo(): return len f = foo pri ...

python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域

复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参:       -- 形参:在函数定义时()中出现的参数       ...

Python--day12(三元表达式、函数对象、名称空间与作用域、函数嵌套定义)

今日主要内容 1.  函数默认值细节(*) 2.  数据类型补充:三元表达式.列表推导式.字典推导式 (***) 3.  函数对象:函数名的各种应用场景 (*****) 4.  名称空间与作用域:解释 ...

day12函数,三元表达式 ,列表推导式 ,字典推导式,函数对象,名称空间与作用域,函数的嵌套定义

复习 # 字符串的比较 # -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 # 函数的参数 # 1)实参与形参: # -- 形参:在函数定义时()中出现的参数 # -- 实参:在函 ...

随机推荐

OC基础--结构体 枚举做类成员属性

结构体  枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期  毕业日期  --  结构体 代码示例: 声明文件 Student.h: #import

Jfianl

http://www.oschina.net/question/257183_149268----------- 添加Handler: me.add(new ContextPathHandler(&q ...

C++的CreateThread实例

function CreateThread(  lpThreadAttributes: Pointer;           {安全设置}  dwStackSize: DWORD;           ...

根据ID获取CEdit的句柄实例

MyApp.h和MyApp.cpp #ifndef MY_APP_H_ #define MY_APP_H_ #include class CMyApp:public ...

Java Hour 49 保存和查询历史的Weather

吾一直坚信,是需求的不断变化推动了架构的不断演变. 新的需求 能够查看指定日期的Weather,因为客户想要比较昨天和今天的天气情况,所以需要能够查询历史数据的功能. 1 能保存当前的天气到数据库 2 ...

大脑提取每一个体素26领域的matlab代码

%-------------- outer loop for x= 1:40 for y =1:48 for z =1:34 %----------inter loop x=20; y=30; z=1 ...

前端笔试题目总结——应用JavaScript函数递归打印数组到HTML页面上

数组如下: var item=[{ name:'Tom', age:70, child:[{ name:'Jerry', age:50, child:[{ name:'William', age:20 ...

IHttpModule接口事件执行 获取Session 找了很多国内的都不对,从国外转过来一个测试可用的

我的环境,asp.net4.0框架集 不多说上代码 public class MyHttpModule : IHttpModule { public void Init(HttpApplication ...

Silverlight学习(二)

好久没来写博客了,这期间经历了春节,也因为忙于一个项目,所以博客被疏忽了.最近一段时间一直在用silverlight做项目,从来一开始的不熟悉渐渐的开始上手.今天记录一下自己学习prism的一些sam ...

python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...相关推荐

  1. python中嵌套函数的应用实例-实例详解python函数的对象、函数嵌套、名称空间和作用域...

    函数的对象 python中一切皆对象 函数对象的四大功能 引用 def f1(): print("from f1") f1() #调用函数 print(f1) print(&quo ...

  2. Python基础知识——函数的基本使用、函数的参数、名称空间与作用域、函数对象与闭包、 装饰器、迭代器、生成器与yield、函数递归、面向过程与函数式(map、reduce、filter)

    文章目录 1 函数的基本使用 一 引入 二 定义函数 三 调用函数与函数返回值 2 函数的参数 一 形参与实参介绍 二 形参与实参的具体使用 2.1 位置参数 2.2 关键字参数 2.3 默认参数 2 ...

  3. 函数对象,名称空间与作用域,闭包,装饰器

    函数是第一类对象即可以被当做数据取使用 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 1.可以被引用 先看变量可以怎么玩 age=18 x=age 把 ...

  4. 函数对象 函数嵌套 名称空间与作用域

    函数对象: 函数是第一类对象,即函数可以当做数据传递 1 可以被引用 2 可以当做参数传递 3 返回值可以是函数  (函数名 不带() 就是函数名的内存地址,带括号就是执行函数) 4 可以当做容器类型 ...

  5. 10-Python入门学习-函数的对象与嵌套、名称空间与作用域、闭包函数

    一.函数的对象 函数是第一类对象,指的是函数名指向的值(函数)可以被当作数据去使用 def func():# func=函数的内地址print('from func')print(func)age=1 ...

  6. python之函数名称空间,作用域,嵌套函数

    目录 嵌套函数 定义 名称空间的三大类(只存变量名) 名称空间加载顺序 变量名的查找顺序为 作用域 嵌套函数 定义 函数内部定义的函数,无法在函数外部使用内部定义的函数. def f1():def f ...

  7. Python Day 10 函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal)...

    Python Day 10  函数(名称空间,作用域,作用域链,加载顺序等; 函数的嵌套 global,nonlocal) 名称空间(命名空间): 当程序运行时,代码从上至下一次读取,遇到变量与值, ...

  8. python函数的全局、局部名称空间及作用域

    """ a = 1 def func(): return func() 开辟一个-全局名称空间(当前py文件),将这些对应关系储存在里面,函数是储存成func:funct ...

  9. 函数的嵌套,名称空间和作用域

    假如有一个函数,实现返回两个数中的较大值: def my_max(x,y):m = x if x>y else yreturn mbigger = my_max(10,20)print(bigg ...

最新文章

  1. Spring AOP + Redis解决重复提交的问题
  2. 向阿里学数字化转型,驱动业绩新增长
  3. 怎样推断一棵二叉树是全然二叉树
  4. MySQL安装与设置
  5. leetcode91. 解码方法
  6. NuGet程序包安装SQLite后完全抽离出SQLite之入门介绍及注意事项,你真的懂了吗?...
  7. Nexus 3.X(Maven仓库私服)仓库迁移与备份
  8. JZYZOJ1140 飞船控制站
  9. 嵌套RecyclerView左右滑动替代自定义view
  10. nginx使用用户真实IP做hash(解决经过CND后ip_hash失效问题)
  11. webpack5学习与实战-(十)-source_map
  12. 自定义IE地址栏图标
  13. 完美解决 vcpkg 下载速度慢
  14. 在AIX或Linux下,如何查看磁盘是否包含数据?
  15. Html5 Egret游戏开发 成语大挑战(八)一般性二级页面处理
  16. 聚焦“教-学-评-测-练-管一体化”,推动新型人才培养
  17. 探花交友06-即时通信
  18. OSCP靶场6-Stapler(用户收集、wordpress、SMB、mysql上传文件执行反弹shell、用户历史命令)
  19. Could not find a package configuration file provided by “std_msg“ with any of the following names:
  20. cpu设计和实现(流水线上的第一条指令)

热门文章

  1. 利用Python对销售额进行预测
  2. SAP UI5 应用开发教程之一:Hello World
  3. 在 xml 视图里指定 SAP UI5 VizType 实例
  4. SAP S/4HANA Cloud SDK 入门介绍
  5. 历史上的今天 - 2001年1月15日,维基百科诞生
  6. 网友提问:SAPGUI里做好的事物码,能直接用在ABAP Webdynpro里么
  7. 如何在Chrome调试器里检查嵌套Observable对象
  8. 什么是SAP CRM里的Sales Bundle?
  9. Netweaver和Windows,Ubuntu的数据共享
  10. SAP CRM WebClient UI上UI标签文本的显示逻辑