1. x1 + x2 +x3 + x4 = 8 多少正整数解

    上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案

    即用三个隔板插7个空位。

    答案C(7,3)

    =35

  2. __name__是Python中一个隐含的变量它代表了模块的名字

    只有被Python解释器直接执行的模块的名字才是__main__

  3. 最大公约数乘以最小公倍数就是这两个数的乘积

     假设两个数分别为A、B(均不为0)

    它们的最大公因数为a,最小公倍数为b

    c为A/a

    d为B/a

    则AB=acad

    AB/a=acad/a=acd

    因为acad(即AB)为AB的公倍数

    所以acd为AB的最小公倍数(有一个a重复了)

    即acd=b

    所以AB/a=b

    即AB=ab

    所以两个不为0的数的乘积等于这两个数的最小公倍数乘以最大公因数

     ```
    def lcm(x, y):
    return x * y // gcd(x, y)
    ```
  4. 作用域 main里a是全局变量

    def foo():
    b = 'hello' def bar(): # Python中可以在函数内部再定义函数
    c = True
    print(a)
    print(b)
    print(c) bar()
    # print(c) # NameError: name 'c' is not defined if __name__ == '__main__':
    a = 100
    # print(b) # NameError: name 'b' is not defined
    foo()
    def foo():
    a = 200
    print(a) # 200 if __name__ == '__main__':
    a = 100
    foo()
    print(a) # 100

    在调用foo函数后,我们发现a的值仍然是100,这是因为当我们在函数foo中写a = 200的时候,是重新定义了一个名字为a的局部变量,它跟全局作用域的a并不是同一个变量,因为局部作用域#中有了自己的变量a,因此foo函数不再搜索全局作用域中的a。如果我们希望在foo函数中修改全局作用域中的a,代码如下所示。

    def foo():
    global a
    a = 200
    print(a) # 200 if __name__ == '__main__':
    a = 100
    foo()
    print(a) # 200
  5. 减少全局变量

    在实际开发中,我们应该尽量减少对全局变量的使用,因为全局变量的作用域和影响过于广泛,可能会发生意料之外的修改和使用,除此之外全局变量比局部变量拥有更长的生命周期,可能导致对象占用的内存长时间无法被垃圾回收。事实上,减少对全局变量的使用,也是降低代码之间耦合度的一个重要举措,同时也是对迪米特法则的践行。减少全局变量的使用就意味着我们应该尽量让变量的作用域在函数的内部,但是如果我们希望将一个局部变量的生命周期延长,使其在函数调用结束后依然可以访问,这时候就需要使用闭包,这个我们在后续的内容中进行讲解。

    这一点点的改进其实就是在我们理解了函数和作用域的基础上跨出的巨大的一步。

    def main():
    # Todo: Add your code here
    pass if __name__ == '__main__':
    main()

最新文章

  1. CFD冲蚀模拟的一些理论
  2. Webform 文件上传、 C#加图片水印 、 图片验证码
  3. 【XLL API 函数】xlGetName
  4. Sample Join Analysis
  5. 入手Intel 750
  6. js将long日期格式转换为标准日期格式
  7. leetcode 112
  8. 安装RubyMine
  9. Dubbo远程调用服务框架原理与示例
  10. Java编程陷阱-类成员初始化
  11. xshell使用命令总结
  12. 蓝桥网试题 java 基础练习 数列特征
  13. OSS web直传 ajax方式 上传图片、文件
  14. Excel 若某列包含某个字符则特定列显示特定字符
  15. Linux中python3,django,redis以及mariab的安装
  16. Win10 开始运行不保存历史记录原因和解决方法
  17. 根据学习廖雪峰老师的git教程做的笔记
  18. linux mv命令详解
  19. jquery选择器筛选器
  20. Django的AutoField字段

热门文章

  1. [CSP-S模拟测试]:gcd(莫比乌斯反演)
  2. Jmeter处理https请求
  3. SPRING CLOUD微服务DEMO-下篇
  4. iOS 自己写的对话框中加入三个输入框
  5. UVALive 4728 Squares(旋转卡壳)
  6. ingress-nginx配置https文件访问
  7. Hibernate4教程五:事务和并发
  8. 关于 ioctl 函数
  9. 2019HDU多校第一场 String 贪心
  10. Goldengate 应用环境 mysql to oracle