一、函数

  1.什么是函数?:函数是带名字的代码块,调用函数,只要调用函数名就可以。

    2.函数的性质:1.减少重复代码 2.使程序变得可扩展 3.使程序变得易维护

  3.编程范示:

    1.面向对象编程           关键字:class

    2.面向过程编程      关键字:def    面向过程是没有返回值的函数

    3.函数式编程       关键字:def

def  say_hello():
print("hello")
print_hello()

   4.函数的参数

     形参:函数完成其工作所需的一项信.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数                              内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量。

      实参:调用函数时传递给函数的信息。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确

                 定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

    

    形参:位置参数、关键字参数

    对于位置参数,传递实参时要一一对应,传递的实参个数要与形参个数相同。

    

     关键字参数,传递的参数由变量名和值组成,和形参顺序无关。

      

      当位置参数和关键字参数同时存在时,关键字参数要放到位置参数的后面。

      

      默认参数:调用函数时,默认参数非必须 传值。函数调用时,如果没有传值,则使用默认参数,传怎使用传递的值

     

     对于传递任意数量的值时,我们要使用*args和**kwargs  对于*args,可以接受N个位置参数,最后转化为元组.对于**kwargs,可接受N个关键字参      数,最后转化为字典。

     

     

    

   5.局部变量和全局变量

        在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量

       全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
       当全局变量与局部变量同名时:
          在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
    
                 要想引用和修改全局变量,就要使用global
    
   6.返回值
      返回值是为了获得函数执行的结果,用return语句返回。
      注意事项:
          1.函数在执行过程中碰到return语句,就会停止执行后面的代码并放回结果。
          2.如果没有返回值,即没有return语句,则返回None
          3.如果有一个返回值,则返回的是一个object
          4.如果有多个返回值,则返回的是一个tuple
    7.递归
       如果一个函数在内部调用函数本身,则为递归
       递归的特点:
            1.必须要有一个明确的终止条件。
            2.每次进入更深一层的递归时,问题规模就会比上一次规模减少
            3.递归效率不高,递归层次过多会导致栈溢出
        
    8.高阶函数
          一个函数作为另一个函数的参数
         

我的Python分析成长之路4的更多相关文章

  1. 我的Python分析成长之路7

    类 一.编程范式: 1.函数式编程   def 2.面向过程编程   (Procedural Programming) 基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个 ...

  2. 我的Python分析成长之路6

    模块:本质就是.py结尾的文件.从逻辑上组织python代码. 包: 本质就是一个目录,带有__init__.py文件,从逻辑上组织模块. 模块的分类: 1.标准库(内置的模块) 2.开源库(第三方库 ...

  3. 我的Python分析成长之路10

    matplot数据可视化基础 制作提供信息的可视化(有时称作绘图)是数据分析中最重要任务之一. 1.图片(画布)与子图 plt.figure :创建一张空白的图片,可以指定图片的大小.像素. figu ...

  4. 我的Python分析成长之路8

    Numpy数值计算基础 Numpy:是Numerical Python的简称,它是目前Python数值计算中最为基础的工具包,Numpy是用于数值科学计算的基础模块,不但能够完成科学计算的任而且能够用 ...

  5. 我的Python分析成长之路11

    数据预处理 如何对数据进行预处理,提高数据质量,是数据分析中重要的问题. 1.数据合并 堆叠合并数据,堆叠就是简单地把两个表拼在一起,也被称为轴向链接,绑定或连接.依照轴的方向,数据堆叠可分为横向堆叠 ...

  6. 我的Python分析成长之路2

    2018-12-29 一.python数据类型: 1.数字 int(整形) float(浮点型) complex(复数型) 2.布尔值(bool)     真或假 True or False 3.字符 ...

  7. 我的Python分析成长之路1

    Python是什么?                                                                                           ...

  8. 我的Python分析成长之路9

    pandas入门 统计分析是数据分析的重要组成部分,它几乎贯穿整个数据分析的流程.运用统计方法,将定量与定性结合,进行的研究活动叫做统计分析.而pandas是统计分析的重要库. 1.pandas数据结 ...

  9. 我的Python分析成长之路5

    一.装饰器: 本质是函数,装饰其他函数,为其他函数添加附加功能. 原则: 1.不能修改被装饰函数的源代码. 2.不能修改被装饰函数的调用方式. 装饰器用到的知识: 1.函数即变量   (把函数体赋值给 ...

随机推荐

  1. Debug和Release版本区别

    Debug和Release版本区别 众所周知,我们尽心iOS开发,在Xocde调试程序时,分为两种方式Debug和Release,在Target的Setting中相信大家应该能看到很多选项分别为Deb ...

  2. 应用日志获取-web系统

    1 场景 应用使开发写的,但应用使部署再服务器上,而开发没有ssh登陆服务器的权限. so,开发总是请运维查日志,下载日志. so and so,运维要花很多时间帮开发去搞日志. 这是件很没意义的事, ...

  3. C# 基础之字段与属性

    1.属性是字段的扩展 2.根据面向对象封装思想,字段最好设为private(私有),这样有利于防止客户端对字段的篡改,从而保证了成员的完整性 3.访问类中私有字段,C#提供了属性,用来对字段进行灵活的 ...

  4. 2017"百度之星"程序设计大赛 - 初赛(A)今夕何夕

    Problem Description 今天是2017年8月6日,农历闰六月十五. 小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨. 为了排遣郁结,它决定思考一个数学问题:接下来最 ...

  5. 安卓新的联网方式 Volley的使用(2)

    如果使用volley 获取 网络图片 最好还是用 Volley 提供的NetworkImageView类,  可以很轻松的 完成工作, 而且他可以设置缓存, lru 和 sd卡的缓存.一些都封装好了. ...

  6. Jackson 动态过滤属性,编程式过滤对象中的属性

    场景:有时候我们做系统的时候,比如两个请求,返回同一个对象,但是需要的返回字段并不相同. 常见与写前端接口的时候,尤其是手机端,一般需要什么数据就返回什么样的数据.此时对于返回同一个对象我们就要动态过 ...

  7. php类重载

    首先,因为PHP是弱类型语言,是不直接支持重载的,不过可以通过一些方法来实现重载. 先说一下重写 在子类继承父类方法后,自己重新定义父类的方法,包含函数名,形参(个数,顺序)完全相同,但权限修饰符可不 ...

  8. moment算本月开始日期和结束日期

    moment算本月开始日期和结束日期 1.引入moment.js var vStartDate=new moment().add('month',addMonth).format("YYYY ...

  9. 爬虫基本原理及requests,response详解

    一.爬虫基本原理 1.爬虫是什么 #1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. #2.互联网建立的目的? 互联网的核心价值在于数据 ...

  10. 洛谷P1036 选数

    题目描述 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12, ...