💻
ExistOrLive' Gitbook
  • README
  • ReadMe
  • 开发语言学习
    • Python
      • 0.概述
      • 1.基本数据类型
      • 2.变量
      • 3.函数
      • 4.运算符
      • 5.字符串
      • 6.列表
      • 7.元组
      • 8.集合
      • 9.字典
      • 10.流程控制
      • 12.函数
      • 13.模块
      • 14.输入输出格式化
      • 15.面向对象
    • Swift
      • 1.基础部分
        • 常量和变量以及基本类型_1
        • 常量和变量以及基本类型_2
      • 2.基本运算符
        • 基本运算符
      • 3.字符串和字符
        • 字符串
        • 字符串操作
      • 4.集合类型
        • 概述
        • Array
        • Set
        • Dictionary
      • 6.函数
        • 函数
        • 函数返回值
        • 函数类型
      • 7.闭包
        • 闭包
        • 闭包表达式
        • 尾随闭包
        • 捕获变量或常量
        • 闭包是引用类型
        • 逃逸闭包
        • 自动闭包
      • 8.枚举
        • 枚举
        • 枚举与switch语句
      • 9.类和结构体
        • 类和结构体
        • 属性
          • 属性
          • 属性观察器
          • 属性包装器
          • 全局变量和局部变量
          • 类属性
        • 方法
    • Shell
      • Shell变量和基本类型
      • Shell函数
      • Shell基本运算符
      • Shell脚本的参数
      • Shell流程控制
      • Shell输入输出
      • Shell文件包含
  • iOS
    • UI
      • UIKit
        • UIView
          • UIView
          • drawRect
        • UITableView
          • UITableView
          • UITableView的加载过程
  • 学习开发工具
    • 静态分析
      • OCLint
      • infer
      • SwiftLint
    • iOS构建工具
      • fastlane
        • fastlane
        • fastlane的安装
        • fastlane一键打包
        • fastlane证书管理
    • Cocoapods
      • 安装pod库-podfile
      • 创建pod库-podspec
  • 开源库
    • Tool
      • Swiftlint源码学习
      • 利用Swiftlint自定义规则实现自动化code review
由 GitBook 提供支持
在本页
  • 函数定义
  • 参数传递
  • 参数
  • 必须参数
  • 关键字参数
  • 默认参数
  • 变长参数

这有帮助吗?

在GitHub上编辑
  1. 开发语言学习
  2. Python

3.函数

函数定义

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

  • 函数内容以冒号起始,并且缩进。

  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。


def test(str):    # def 函数名(参数) :
    print(str)    #     函数体
    return

参数传递

由于python的所有类型都是对象类型(包括int,float),变量中保存的都是对象的地址。因此函数的参数传递都是指针传递。

参数

  • 必需参数

  • 关键字参数

  • 默认参数

  • 不定长参数

必须参数


def test(str1,num1,str2):
    num2 = num1 + 1
    str3 = str1 + str2
    print(num2,str3)

test("123",1,"1234")

如上 str1,num1,str2都是必须参数,不可以少,且顺序不可以变

关键字参数


# 仍是上面定义的test方法

test(str2 = "dadsa",str1 = "2131", num1 = 11)

可以通过关键字表明是传递的是哪个参数,这样可以不按顺序传入

默认参数

调用函数时,如果没有传递参数,则会使用默认参数;默认参数的后面必须都是默认参数


def test(str1,num1 = 0,str2 = "123"):
    num2 = num1 + 1
    str3 = str1 + str2
    print(num2,str3)


test("DASD")

如上num1,和 str2 有默认的参数,但是不可以num1为默认参数,而str2不是

变长参数

有些函数的参数的个数是不确定的,如,def print(self, *args, sep=' ', end='\n', file=None):这里就会需要变长参数


def functionname([formal_args,] *var_args_tuple ):

def functionname([formal_args,] *var_args_dic ):

变长参数有两种形式,一种是

上一页2.变量下一页4.运算符

最后更新于3年前

这有帮助吗?