阿里云天池task3学习笔记

  1. 简介

  2. 函数

    1. 函数的定义

    2. 函数的调用

    3. 函数文档

    4. 函数参数

    5. 函数的返回值

    6. 变量作用域

  3. Lambda-表达式

    1. 匿名函数的定义

    2. 匿名函数的应用

  4. 类与对象

    1. 属性和方法组成对象

    2. self是什么?

    3. Python的魔法方法

    4. 公有和私有

    5. 继承

    6. 组合

    7. 类、类对象和实例对象

    8. 什么是绑定?

    9. 一些相关的内置函数(BIF)

  5. 魔法方法

    1. 基本的魔法方法

    2. 算术运算符

    3. 反算术运算符

    4. 增量赋值运算

    5. 一元运算符

    6. 属性访问

    7. 描述符

    8. 定制序列

    9. 迭代器

简介

Python 是一种通用编程语言,其在科学计算和机器学习领域具有广泛的应用。如果我们打算利用 Python 来执行机器学习,那么对 Python 有一些基本的了解就是至关重要的。本 Python 入门系列体验就是为这样的初学者精心准备的。

本实验包括以下内容:

  • 函数
    • 函数的定义
    • 函数的调用
    • 函数文档
    • 函数参数
    • 函数的返回值
    • 变量作用域
  • Lambda 表达式
    • 匿名函数的定义
    • 匿名函数的应用
  • 类与对象
    • 对象 = 属性 + 方法
    • self 是什么?
    • Python 的魔法方法
    • 公有和私有
    • 继承
    • 组合
    • 类、类对象和实例对象
    • 什么是绑定?
    • 一些相关的内置函数(BIF)
  • 魔法方法
    • 基本的魔法方法
    • 算术运算符
    • 反算术运算符
    • 增量赋值运算符
    • 一元运算符
    • 属性访问
    • 描述符
    • 定制序列
    • 迭代器

函数

函数的定义

还记得 Python 里面“万物皆对象”么?Python 把函数也当成对象,可以从另一个函数中返回出来而去构建高阶函数,比如:
参数是函数、返回值是函数。

我们首先来介绍函数的定义。

  • 函数以def关键词开头,后接函数名和圆括号()。
  • 函数执行的代码以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None

def functionname (parameters):

       “函数_文档字符串”

        function_suite

        return [expression]

函数的调用

【例子】

def printme(str):
    print(str)


printme("我要调用用户自定义函数!")  # 我要调用用户自定义函数!
printme("再次调用同一函数")  # 再次调用同一函数
temp = printme('hello') # hello
print(temp)  # None
我要调用用户自定义函数!
再次调用同一函数
hello
None

函数文档

def MyFirstFunction(name):
    "函数定义过程中name是形参"
    # 因为Ta只是一个形式,表示占据一个参数位置
    print('传递进来的{0}叫做实参,因为Ta是具体的参数值!'.format(name))


MyFirstFunction('老马的程序人生')  
# 传递进来的老马的程序人生叫做实参,因为Ta是具体的参数值!

print(MyFirstFunction.__doc__)  
# 函数定义过程中name是形参

help(MyFirstFunction)
# Help on function MyFirstFunction in module __main__:
# MyFirstFunction(name)
#    函数定义过程中name是形参
传递进来的老马的程序人生叫做实参,因为Ta是具体的参数值!
函数定义过程中name是形参
Help on function MyFirstFunction in module __main__:

MyFirstFunction(name)
    函数定义过程中name是形参

函数参数

Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。从简到繁的参数形态如下:

  • 位置参数 (positional argument)
  • 默认参数 (default argument)
  • 可变参数 (variable argument)
  • 关键字参数 (keyword argument)
  • 命名关键字参数 (name keyword argument)
  • 参数组合

1. 位置参数

def functionname(arg1):

       “函数_文档字符串”

       function_suite

       return [expression]

  • arg1 - 位置参数 ,这些参数在调用函数 (call function) 时位置要固定。

2. 默认参数

def functionname(arg1, arg2=v):

       “函数_文档字符串”

       function_suite

       return [expression]

  • arg2 = v - 默认参数 = 默认值,调用函数时,默认参数的值如果没有传入,则被认为是默认值。
  • 默认参数一定要放在位置参数 后面,不然程序会报错。

【例子】

def printinfo(name, age=8):
    print('Name:{0},Age:{1}'.format(name, age))


printinfo('小马')  # Name:小马,Age:8
printinfo('小马', 10)  # Name:小马,Age:10
Name:小马,Age:8
Name:小马,Age:10

3. 可变参数

顾名思义,可变参数就是传入的参数个数是可变的,可以是 0, 1, 2 到任意个,是不定长的参数。

def functionname(arg1, arg2=v, *args):

       “函数_文档字符串”

       function_suite

       return [expression]

  • *args - 可变参数,可以是从零个到任意个,自动组装成元组。
  • 加了星号(*)的变量名会存放所有未命名的变量参数。

【例子】

def printinfo(arg1, *args):
    print(arg1)
    for var in args:
        print(var)


printinfo(10)  # 10
printinfo(70, 60, 50)
# 70
# 60
# 50
10
70
60
50

4. 关键字参数

def functionname(arg1, arg2=v, *args, **kw):

       “函数_文档字符串”

       function_suite

       return [expression]

  • **kw - 关键字参数,可以是从零个到任意个,自动组装成字典。
  • def printinfo(arg1, *args, **kwargs):
        print(arg1)
        print(args)
        print(kwargs)
    
    
    printinfo(70, 60, 50)
    # 70
    # (60, 50)
    # {}
    printinfo(70, 60, 50, a=1, b=2)
    # 70
    # (60, 50)
    # {'a': 1, 'b': 2}
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值