python开发之路---第二章之--嵌套函数

1 def func1():
2     print(‘alex‘)
3
4     def func2():
5         print(‘eric‘)
# 1. func1()   # 加了() 就代表执行这个函数, 执行结果是‘alex‘
1 ef func13():
2     print(‘alex‘)
3
4     def func23():
5         print(‘eric‘)
6
7     func23()
#  1.func1()  # 这里执行结果就是2个都答应了,alex和eric

# 总结# 1、函数内部可以再次定义函数
# 2、函数要执行必须被调用

 1 age = 19
 2
 3 def func1():
 4     age = 73
 5     print(age)
 6     def func2():
 7         age = 84
 8         print(age)
 9     func2()
10
11
12 func1()

# 执行结果是
# 73
# 84

## 说明函数找的变量,是从内往外寻找。

1 age = 19
2 def func1():
3     def func2():
4         print(age)
5         func2()
6     age = 73
7
8 func1()

特殊情况,如上的代码会报错,建议更改下代码,如下:

1 age = 19
2 def func1():
3     global age
4     def func2():
5         print(age)
6         func2()
7     age = 73
8
9 func1()
 

原文地址:https://www.cnblogs.com/LoveElsa/p/10276643.html

时间: 2024-08-14 21:55:56

python开发之路---第二章之--嵌套函数的相关文章

python开发之路---第二章之--基本函数介绍

1.函数: 是指一组语句的集合,通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用函数名即可 优点: # 减少重复代码 # 使程序可扩展 # 使程序易维 栗子1: 1 def sayhi(): 2 print ('hello') 3 4 sayhi() ## sayhi 是指向函数的内存地址,加了() 就是执行这个函数 # 如下又是一种,这个是可以给函数插入参数,参数可以根据调用时传入的参数的不同,来决定内部执行代码的流程 eg:(1) 1 def sayhi(name): 2 pri

python开发之路---第二章之--函数的作用域

## Python中一个函数就是一个作用域 age = 18 def func1(): age = 73 def func2(): print(age) return func2 val = func1() val() # 代码定义完成后,作用域就生成了,作用域向上查找 原文地址:https://www.cnblogs.com/LoveElsa/p/10276820.html

python开发之路---第二章之--文件操作

'''1.r ## 是只读模式2.w ## 创建新文件并覆盖写3.rb ## 二进制方式读4.wb ## 二进制方式写5.ab ## 追加写6.w+ ## 写读模式,支持写完后读取写的内容7.r+ ## 读写模式,读完之后,再写(追加)8. ''' '''f.tell() # 返回当前文件读取到的光标字节的位置f.seek(5) # 强制把光标调整到指定字节位置,如果从这个位置写,后面有内容的话,会覆盖写f.flush() # 强制把内容从内存刷到硬盘中f.readline() ## 每次读一行

python开发之路---第二章之--函数之高阶函数

## 一个函数的变量为另一个函数,这种函数就称为高阶函数 ## return 一个函数名也可以称为高阶函数 def func(x,y): return x+y def cale(x): return x f = cale(func) a = f(4,5) print (a) ## 这里的实际上执行的是func的函数,所以不传参数的话会报错,必须传入2个参数, 原文地址:https://www.cnblogs.com/LoveElsa/p/10280029.html

python开发之路---第二章之--函数之内置方法

msg = '我是一开始的内容' f = open('print_test','w') print(msg,'我是后面的内容',sep='-->',end='!!!',file=f) ## print的方法,将一段字符串,直接加入到文件内,并且在字符串后面使用sep自定义插入符号,以及在结尾处使用end插入自定义符号 ## 默认print方法打印后会换行,是因为end的默认值是\n #callable()  # 判断一个对象是否可调用 ##forzenset()  # 将一个集合变为不可变 #

Android开发艺术探索——第二章:IPC机制(上)

Android开发艺术探索--第二章:IPC机制(上) 本章主要讲解Android的IPC机制,首先介绍Android中的多进程概念以及多进程开发模式中常见的注意事项,接着介绍Android中的序列化机制和Binder,然后详细的介绍Bundle,文件共享,AIDL,Messenger,ContentProvider和Socker等进程间通讯的方法,为了更好的使用AIDL进行进程间通讯,本章引入了Binder连接池的概念,最后,本章讲解各种进程间通信方式的优缺点和使用场景,通过本章,可以让读者对

Android开发艺术探索——第二章:IPC机制(中)

Android开发艺术探索--第二章:IPC机制(中) 好的,我们继续来了解IPC机制,在上篇我们可能就是把理论的知识写完了,然后现在基本上是可以实战了. 一.Android中的IPC方式 本节我们开始详细的分析各中跨进程的方式,具体方式有很多,比如可以通过在Intent中附加extras来传递消息,或者通过共享文件的方式来共享数据,还可以采用Binder方式来跨进程通信,另外,ContentProvider天生就是支持扩进程访问的,所以通过Socket也可以实现IPC,上述的各种方法都能实现I

Python基础教程(第二章 列表和元组)

本文内容全部出自<Python基础教程>第二版,在此分享自己的学习之路. ______欢迎转载:http://www.cnblogs.com/Marlowes/p/5293195.html______ Created on Xu Hoo 本章将引入一个新的概念:数据结构.数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence),序列中的每个元素被分配一个序号——即

流程python学习笔记:第二章

第二章开始介绍了列表这种数据结构,这个在python是经常用到的结构 列表的推导,将一个字符串编程一个列表,有下面的2种方法.其中第二种方法更简洁.可读性也比第一种要好 str='abc' string=[] for s in str:     print string.append(s) ret=[s for s in str] print ret 用这种for-in的方法来推导列表,有个好处就是不会有变量泄露也就是越界的问题.这在c语言中是需要特别注意的问题. 对于两个以上的列表推导作者用到