Fork me on GitHub

函数笔记

1:
# 题目:写函数,接收两个数字参数,返回比较大的那个数字 # 三元运算法,为了简化代码 a = 2 b = 4 c = a if a > b else b print(c) def func(a,b): return a if a>b else b print(func(2,4)) print(func(2,2)) # 正常方法 def func(a,b): if a > b: return a else: return b print(func(2,2)) print(func(2,4)) # 变量 = 条件返回True的结果 if 条件 else 条件返回False的结果 #必须要有结果 #必须要有if和else
#只能是简单的情况

 2:eg:写函数,检查传入字典的每一个value的长度,......,则定义函数为 def func(dic):

写函数,用户传入修改的文件名,......,则定义函数为 def func(filename):

3:网页前端:html + js(javascript)(占比重最大) + css     后端:python 或 Java 或 php 或 c 或  c++

4:

 我们所说的“变量”就是计算机的“内存地址”
 如func()中的func(函数名) 就是这个函数的内存地址
 变量的范围 》函数名的范围

5:

三元运算符
      接收结果的变量 = 条件为真的结果 if 条件 else 条件为假的结果
      接收结果的变量 = “真结果” if 条件 else “假结果”
命名空间 和 作用域
      三种:内置 全局 局部
      作用域:全局 局部 globals() locals()
   global 在局部声明一个全局变量
   nonlocal 在局部声明最近的上一层局部中的变量
作用域链 : 小范围用变量的时候,先从自己的名字空间找,
找不到就一层一层向外层(上层)找,直到找到为止,找不到就报错
函数的嵌套调用和嵌套定义
      定义在函数内部的函数不能被外界直接调用
      内部函数可以使用外部的变量
函数名的本质
      就是一串内存地址
      函数名可以赋值、可以作为容器类型的元素、函数的参数和返回值 —— 第一类对象

闭包 : 内部函数使用外部函数的变量:

def outer():
    a = 1
    def inner():
        print(a)
    return inner
i = outer()
i()

6:

# the importance!
# 实参与形参的变量名无关
# 读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么?
a = 10 
b = 20
def func(a,b):
    print(a,b)
func(b,a)  
c = func(b,a) # 这里拆为二步,第一步是先执行(或调用)func(b,a),在执行完结果后再对变量“c”赋值,(那么相应的就得有返回值),而本题没有返回值,所以print(c)为None
print(c) 

 

posted @ 2019-02-01 19:05  chauncylii  阅读(228)  评论(0编辑  收藏  举报