专栏首页python3Python的故事_two

Python的故事_two

祝好运!

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

        * 实现过程: 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等运算的类型
      • 实现原理:

        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(内部)**即可 我们也可以通过吧全局变量存放在数组中 因为变量不存在栈内存即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python自动化开发学习4-3

    python自带的str()可以完成序列化,然后eval()可以反序列化,但是我们先把他们忘记。不知道适用范围是多大。

    py3study
  • Python-函数式编程介绍 (上)

    #内置函数:网址如下 https://docs.python.org/zh-cn/3.7/library/functions.html

    py3study
  • python函数(二)

    #6.传递任意个数的参数; #在定义函数时,若参数名前面使用“”,则表示可接受任意个数的参数,这些参数保存在一个元祖中。 #定义函数,代表b是一个元祖,可以接受...

    py3study
  • 为什么应该抵制“新国货”小米?

    “为什么应该抵制 Uber”赤潮之前已经有过很多的讨论了,主要的原因是 Uber 和 360 一样毁灭了一个成熟的的体系,却并没有能真正地替代它——它的运力不足...

    曾响铃
  • 深度学习初探:使用Keras创建一个聊天机器人

    【导读】本篇文章将介绍如何使用Keras(一个非常受欢迎的神经网络库来构建一个Chatbot)。首先我们会介绍该库的主要概念,然后将逐步教大家如何使用它创建“是...

    统计学家
  • Rasch模型是怎么来的?

    刚开始接触项目反应理论的时候,可能很多人会对各种模型的来源不清楚,云里雾里,很多书籍里面对这部分也并没有写的很详细。有的甚至直接给出一个模型告诉你这个模型就是长...

    二号姬
  • jpype._jvmfinder.JVMNotFoundException: No JVM shared library file

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    周小董
  • 【基础教程】Python小数/浮点数(float)类型详解

    在编程语言中,小数通常以浮点数的形式存储。浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。

    matinal
  • 星云精准测试之用例魔方

      精准测试从某个层面来讲,是赋予了测试用例真正的生命力,传统的测试用例仅仅是一些只能够依赖人去理解和分析的文本文件而已,在计算机和算法层面则没有存在意义和价值...

    小老鼠
  • Python实现小数的二进制与十进制形式转换

    对于十进制小数,乘以2,取整数部分,对剩余的小数部分重复这个过程,直至小数为0,把得到的整数部分依次保存,即为转换结果。例如,十进制小数0.125转换为二进制小...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券