• 基础总结


    一、函数

    1、调用函数

    要调用一个函数,需要知道函数的名称和参数

    abs(X)

    函数帮助:help(函数名)

    2、定义函数

    def语句,依次写出函数名、括号、括号中的参数和冒号:函数体  return语句做返回

    函数的参数检查:

    二、函数参数

    1、默认参数

    如果经常计算平方,可以设置默认参数=2,这样调用的时候直接pow(x),不要加默认参数

           循环:

    •  while循环
      • 条件满足则不断循环,否则退出。初始化二个值:n = 值    sum = 值
    • for......in循环

                   依次把list或tuple中的每个元素迭代出来

                  

                默认参数指向不变的对象,不能是列表

    2、可变参数

    传入的参数是可变的

    调用函数:calc(1, 2)

    调用已经存在的list或是truple

    3、关键字参数

    可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple

    关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

    *args是可变参数,args接收的是一个tuple;

    **kw是关键字参数,kw接收的是一个dict。

    def person(name, age, **kw):
        print 'name:', name, 'age:', age, 'other:', kw

       

    关键字参数有什么用?它可以扩展函数的功能。比如,在person函数里,我们保证能接收到nameage这两个参数,但是,如果调用者愿意提供更多的参数,我们也能收到。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

     4、参数组合

    参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

    三、传入函数

    1、变量指向函数

    2、高阶函数

    变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

     

    调用add(-5, 6, abs)

     四、模块

    1、一个.py文件就是一个模块

    为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)

    包里面有一个__init__.py文件,注意

    调用包的模块:mycompany.abc

    编写一个hello.py模块,里面定义一个test方法 def test(),应用

    >>>import hello

    调用模块的方法>>>hello.test()

    2、作用域

    正常的函数和变量名是公开的(public),可以被直接引用,比如:abcx123PI等;

     类似__xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author____name__就是特殊变量

     类似_xxx__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc__abc等;

     

    我们在模块里公开greeting()函数,而把内部逻辑用private函数隐藏起来了,这样,调用greeting()函数不用关心内部的private函数细节,这也是一种非常有用的代码封装和抽象的方法

    五、安装第三方模块

    1、安装第三方模块

    是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_installpip。目前官方推荐使用pip

    如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。

     pip install PIL

    六、面向对象

    一个对象包含了数据和操作数据的函数

    如果采用面向对象的程序设计思想,我们首选思考的不是程序的执行流程,而是Student这种数据类型应该被视为一个对象,这个对象拥有namescore这两个属性(Property)。如果要打印一个学生的成绩,首先必须创建出这个学生对应的对象,然后,给对象发一个print_score消息,让对象自己把自己的数据打印出来。

     

    调用

    >>> bart.name = 'Bart Simpson'

    比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student:

     数据封装、继承和多态是面向对象的三大特点

    2、数据封装

    方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据

  • 相关阅读:
    图像识别模型
    W tensorflow/core/util/ctc/ctc_loss_calculator.cc:144] No valid path found 或 loss:inf的解决方案
    CF1240F Football
    loj6537. 毒瘤题加强版再加强版
    Codeforces Global Round 9题解
    CF356E Xenia and String Problem
    CF1185G2 Playlist for Polycarp
    CF914F Substrings in a String
    Python3.5学习之旅一
    python内置数据结构性能分析
  • 原文地址:https://www.cnblogs.com/bell1991/p/7066358.html
Copyright © 2020-2023  润新知