(一)Python入门-5函数:09嵌套函数(内部函数)-数据隐藏

嵌套函数:

  嵌套函数: 在函数内部定义的函数!

  一般在什么情况下使用嵌套函数?

    1. 封装 - 数据隐藏:外部无法访问“嵌套函数”。

    2. 贯彻 DRY(Don’t Repeat Yourself) 原则: 嵌套函数,可以让我们在函数内部避免重复代码。

    3. 闭包: 后面会详细讲解。

#测试嵌套函数(内部函数)

def test01():
    print("test01,running")
    def test02():
        print("test02,running")
    test02()

test01()

#使用嵌套函数避免重复代码
def printChineseNmae(name,familyName):
    print("{0} {1}".format(familyName,name))
def printEnglishNmae(name,familyName):
    print("{0} {1}".format(name,familyName))
#使用一个函数代替上面两个函数
def printName(isChinese,name,familyName):
    def inner_print(a,b):
        print("{0} {1}".format(a,b))
    if isChinese:
        inner_print(familyName,name)
    else:
        inner_print(name,familyName)

printName(True,‘三‘,‘张‘)
printName(False,‘jack‘,‘zhang‘)

运行结果:

  test01,running
  test02,running
  张 三
  jack zhang

原文地址:https://www.cnblogs.com/jack-zh/p/10841600.html

时间: 2024-10-11 17:29:50

(一)Python入门-5函数:09嵌套函数(内部函数)-数据隐藏的相关文章

python局部变量、高级函数、匿名函数、嵌套函数、装饰器

1.局部变量 在函数内部,可以用Global,显式的声明为全局变量.这种方式永远不要这么用. Ctrl+?多行注释i 2.高级函数 把函数名当做参数,传给函数 def add(a,b,f): return f(a)+f(b) res = add(3,-6,abs) abs是内置函数 def bar(): print("in the bar") def test1(func): 首先看第一个例子:def bar(): print("in the bar") def t

python入门16 递归函数 高阶函数

递归函数:函数内部调用自身.(要注意跳出条件,否则会死循环) 高阶函数:函数的参数包含函数 递归函数 #coding:utf-8 #/usr/bin/python """ 2018-11-17 dinghanhua 递归函数 高阶函数 """ '''递归函数,函数内部调用函数本身''' '''n!''' def f_mul(n): if type(n) != type(1) or n <= 0: #不是整数或小于0 raise Except

python入门(六):函数

1.系统自带的函数: >>> dir(__builtins__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'Conn

函数-内置函数,匿名函数,嵌套函数,高阶函数,序列化

函数简单说明 # 函数即"变量" # 高阶函数 # a.把一个函数名当做实参传给另一个函数(在不修改被装饰函数的源代码的情况下,为其添加功能) # b.返回值中包含函数名(不修改函数的调用方式) ''' import time def bar(): print("in the bar!") time.sleep(2) def foo(func): start_time = time.time() func() #根据内存地址,执行代码 stop_time = tim

node.js中的匿名函数, 回调函数和嵌套函数

定义一个函数相信大家已经很熟悉了, 在javascript里的函数也是非常重要的, 使用率非常高, 有几种函数不是很好理解 一, 匿名函数 var remove = function(num1) { return num1; } var fun = remove(5); console.log(fun); 这里定义的这个函数没有设置函数名, 在使用的时候要使用变量调用这个函数. 最后的输出结果: 5 二, 回调函数, 传递的参数可以定义成任意的对象, 而在这里, 其中的一个参数就是一个函数 fu

python入门(13)获取函数帮助和调用函数

Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http://docs.python.org/2/library/functions.html#abs 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息. 调用abs函数: >>> abs(100) 100 >>> abs(-20) 20 >>> abs(1

Python入门学习(二)——函数篇

1.函数 要调用一个函数,需要知道函数的名称和参数. 可以查看Python标准库:https://docs.python.org/2/library/index.html,也可以在交互式命令行通过 help(abs) 查看函数的帮助信息. s = area_of_circle(x) #圆的面积 s = abs(-1.5) #绝对值函数 cmp(x, y) #比较函数,如果x<y,返回-1,如果x=y,返回 0,如果 x>y,返回1 int('123') #把其他数据类型转换为整数,即123 s

python入门基础教程09 python表达式基础

表达式 表达式,是由数字.算符.数字分组符号括号.自由变量和约束变量等以能求得数值的有意义排列方法所得的组合,故表示通常是由操作数和操作符两部分组成,如果操作符前后均有操作数,我们称此类操作符是双目运算符,例如加法.减法.取模.赋值运算等运算符均是双面运算符.如果操作符要么前边有操作数,要么后边有操作数,我们称之这类操作符为单目运算符,例如C 语言里的++.–以及取负运算均属于单目运算符,而Python 里的单目运算符比较少. 算术表达式 常见的算术运表达式由加减乘除.取模取余.取负以及幂次方(

Python之函数(四)函数的嵌套和global、nonlocal

函数的嵌套 函数的嵌套 def func() print(1) def f1(): print(2) return f1() func() 结果为:1 2 不管在什么位置,只要是函数+()就是在调用此函数 函数调用执行后,函数体中开辟的空间就自动销毁了 def func(): a=1 def foo(): b=2 print(b) print(a) def f1(): print(b) return f1() return foo() print(func()) 结果为:2 1 2 None p