【飞桨-百度领航团-零基础Python】课程笔记-Day01-03

笔者之前一直使用MATLAB和C++语言进行编程,因此,在本次课程中主要致力于分析比较python语言与C++语言的关键点(自用)

Day 01 Python入门及环境搭建

  • python中没有 i + + , i − − i++,i-- i++,i i + = 1 , i − = 1 i +=1,i-=1 i+=1,i=1

  • python中没有 && || ⇒ and or

  • list = [] → append, pop

  • tuple = () → append

⇒ { } 表示不可重复

  • set = {} → 元素不可重复

  • dict = {key : value , key : value} → 键不可重复

  • for循环: for … in range / list / tuple / ‘string’…

Day 02 Python基础(上)

  • 字符串有find方法;列表没有find方法

  • 生成器

    g=(x * x for x in range(10))

    调用方法:next(g) / for n in g

  • 字符串方法

    • count
    • find
    • index
    • split
    • replace
    • upper
    • lower
    • capitalize
    • strip → 删除字符串前的空格和字符串后的\n
  • 列表方法

    • append
    • insert(index, 元素)
      • (不改变原数组,单纯的相加)
    • count
    • index
    • pop → 删除列表最后一项
    • remove(元素) → 删除从前往后找到的第一项
  • 格式化输出

    • ’%s’ % (var)
    • ’{ : s}’.format(var)
    • f’{var}'

Day 03 python基础(下)

  • 函数定义

    def funcName(nargin):

    pass

    return var

  • 参数传递

    • 位置参数(var1,var2,…)

      须以正确的顺序传入函数,数量必须与声明时一样

    • 缺省参数(var1,…varn=default)

      值如果没有传入,则被认为是默认值

    • 可变参数(*vars)

      传入的参数个数是可变的

    • 关键字参数(定义 → ** var,传入→ varName = value)

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

    • 命名关键字参数(定义 → name,age,*,height,weight,传入 → ‘张三’, 18, height = 180, weight = 75)

      限制关键字参数的名字 → 防止函数更新造成参数歧义

    参数定义的顺序:必选参数,默认参数,可变参数,命名关键字参数,关键字参数

  • 变量的作用域

    • 局部变量
    • 全局变量

    函数优先使用局部变量,在没有局部变量的情况下,使用全局变量

    定义在函数内部的变量,函数结束后自动消亡

    python函数中如有局部变量名与外部变量名冲突,则默认函数内该变量为局部变量,除非使用global声明

  • lambda匿名函数

    • 定义 → func = lambda var1,var2,…,varn : 返回值的表达式
    • 调用 → func(val1,val2,…,valn)
  • 高阶函数

    • 函数名其实就是指向函数的变量
  • map:

    map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

    fx = lambda x:x**2
    ls = [1,2,3,4,5,6,7,8,9]
    ms = []
    for l in ls:
        ms.append(fx(l))
    => 等价于:
    rst = map(fx, ls)
    list(rst)
    
  • reduce

    用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,依此类推,最后得到一个结果。

  • sorted

    • reverse = True → 从大到小排序
    • key → 排序关键字(函数)
  • 装饰器

    • 闭包:封装函数的参数
      • 闭包中尽量不要涉及到闭包函数外的循环变量 → 解决方法:可以设计三层函数

    装饰器的主要作用是封装重复性的代码

    • 在封装的函数前加@wrapperFunctionName即可

猜你喜欢

转载自blog.csdn.net/weixin_41145926/article/details/113757465