Python的故事_two

发布时间:2019-09-03 09:13:50编辑:auto阅读(1786)

    祝好运!

    • 下面来说一些内置函数的实现原理(没有参考源码),只能以结果为导向去自己写出,有心想去学习,代码这东西一定要手动去敲,大神勿喷
    • 1、len()返回长度,那么是怎样实现的呢
        • 用法:
        • len(s)
        • 列子:
          • Python的故事_two
                • 实现过程:
          • Python的故事_two
    • 2、max(),min()最小值代码实现原理**
        • 首先个人感觉字符串是没办法进行比较和相加的,那么在字符串里有数字字母仍然可以进行max(),min()最小值比较,字符串里面全是数字的话我们直接int强制转换比较,如果有字母特殊符号就会int失败,这时候会把字母转换ASCII码值去进行比较操作
          验证观点如下:
          • Python的故事_two
            * 实现过程:
            tule = [3,4,2,0,7,5]
            max(tule)
            max = numbers[0]
                 for each in numbers:
                        if each > max:
                                max = each
                return max

    3、sum()实现过程

        • sum求和操作,经过尝试支持列表(内嵌列表不可以),字典元组等,int,float等运算的类型
        • 实现原理:
          • Python的故事_two
            sorted(),reversed()实现过程
            enumerate()实现过程
            zip()实现过程
            print()实现过程
            有空参考,本想用冒泡排序二分法等来实现排序,会楼层更新

    函数学习,其实函数与过程通常是在一起学习,函数给我的感觉很灵活,又可以把很多代码封装打包,参数的缘故让我随心所欲,随时可以调用。关于全局变量,局部变量程序内部修改,包括内嵌函数,闭包(closure)等,变量修该
    代码:

    def Myfunction:
        print('函数输出')
        print('12345678')

    调用:Myfunction()
    自定义函数:

    def add(num1,num2):
        result = num1+num2
        print(result)

    这时候num1,num2是我们需要传递进去的参数
    形式参数(Paraneter)实际参数(Argument)
    简单介绍一下函数文档,既然函数文档一定不同于注释!
    关键字:
    ! '' #
    这些可用通过
    1、def Myfunction.doc
    2、help(Myfunction)
    都可以来查看函数文档,更规范整齐的方式展示给大家
    我们也可以定义默认参数如下代码

    def Myfunction(a='你好',b='小明')
        print(a+b)
        print (b+a)

    虽然字母顺序改变,输出变量会随之顺序而改变
    *参数带代表可变参数
    修改全局变量或局部变量的时候Python会有一种机制
    屏蔽(Shadowing)
    当我们代码运行的过程中试图修改全局变量 新建一个局部变量代替 程序的可读性变差,代码维护成本也会增高 那么我们在运行代码过程中修改变量需要带上关键字!
    nonlocal(局部) global(内部)**即可
    我们也可以通过吧全局变量存放在数组中 因为变量不存在栈内存即可

关键字

上一篇: 开始学习Python了

下一篇: python共享文件,