博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之初识函数(Day11)
阅读量:6969 次
发布时间:2019-06-27

本文共 1879 字,大约阅读时间需要 6 分钟。

一.函数的定义与调用

总结一:

定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

   def 是固定的,不能变,必须是连续的def三个字母,不能分开。。。

   空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。

   函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

   括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

函数体:

 

def 函数名(参数1,参数2,*args,默认参数,**kwargs):        """注释:函数功能和参数说明"""        函数体        ……        return 返回值

 

 

 

调用:就是 函数名() 要记得加上括号

#函数定义def mylen():    """计算s1的长度"""    s1 = "hello world"    length = 0    for i in s1:        length = length+1    print(length)#函数调用  mylen()

函数的返回值:return [表达式] 结束函数。不带表达式的return相当于返回 None

 可分为:

1.无返回值(会默认返回一个None:)一旦遇到return,结束整个函数

2.返回一个值:

ef mylen():    """计算s1的长度"""    s1 = "hello world"    length = 0    for i in s1:        length = length+1    return length

 

3.返回多个值:

可以返回任意多个、任意数据类型的值

def ret_demo1():    '''返回多个值'''     return 1,2,3,4def ret_demo2():    '''返回多个任意类型的值'''    return 1,['a','b'],3,4ret1 = ret_demo1()print(ret1)ret2 = ret_demo2()print(ret2)

返回的多个值会被组织成元组被返回,也可以用多个值来接收

def ret_demo2():    return 1,['a','b'],3,4#返回多个值,用一个变量接收ret2 = ret_demo2()print(ret2)#返回多个值,用多个变量接收a,b,c,d = ret_demo2()print(a,b,c,d)#用多个值接收返回值:返回几个值,就用几个变量接收a,b,c,d = ret_demo2()print(a,b,c,d)
View Code

二.函数的参数

参数课分为形参与实参.......

1.函数的参数可分为形参与实参

调用函数时传递的这个“hello world”和定义函数时的s1就是参数。   即   ‘hello word’为实参,而s1为形参

2.传递多个参数

def mymax(x,y):    the_max = x if x > y else y    return the_maxma = mymax(10,20)print(ma)

3.

位置参数:按照从左到右的顺序定义的参数         位置形参:必选参数         位置实参:按照位置给形参传值     关键字参数:按照key=value的形式定义实参         无需按照位置为形参传值         注意的问题:                 1. 关键字实参必须在位置实参右面                 2. 对同一个形参不能重复传值     默认参数:形参在定义时就已经为其赋值         可以传值也可以不传值,经常需要变得参数定义成位置形参,变化较小的参数定义成默认参数(形参)         注意的问题:                 1. 只在定义时赋值一次                 2. 默认参数的定义应该在位置形参右面                 3. 默认参数通常应该定义成不可变类型

 

转载于:https://www.cnblogs.com/shaojiafeng/p/7235127.html

你可能感兴趣的文章
27 GroupSock概述(一)——live555源码阅读(四)网络
查看>>
获取select的 text
查看>>
MongoDB学习笔记~官方驱动的原生Curd操作
查看>>
常用数据库语句
查看>>
jQuery Easy UI 开发笔记
查看>>
26、ASP.NET MVC入门到精通——后台管理区域及分离、Js压缩、css、jquery扩展
查看>>
Python标准库:内置函数repr(object)
查看>>
【SpringMVC】SpringMVC系列14之SpringMVC国际化
查看>>
Codeforces Beta Round #1 B. Spreadsheets 模拟
查看>>
辛星深入分析vim的自己主动补全功能以及vim的映射
查看>>
ADCD 1.9 ZOS 配置 CTCI-W32 TCPIP 网络
查看>>
ASP.NET MVC之如何看待内置配置来提高性能优化(四)
查看>>
IOS-NSRunLoop
查看>>
Centos6.5更新e1000网卡驱动
查看>>
jz2440: linux/arch/arm/下面的plat-和mach-
查看>>
Linux中文件描述符fd和文件指针flip的理解
查看>>
Btrace是一个实时监控工具
查看>>
Download file using libcurl in C/C++
查看>>
电Call记录统计查询sql
查看>>
JS面试题-算法台阶问题
查看>>