博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
05-Python基础之函数基础
阅读量:4568 次
发布时间:2019-06-08

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

python之函数基础

 

-----------------------------------------------------------------------------------------------------

函数一般格式

函数的格式包括:

  def 函数名(参数):函数名符合标识符原则  

#函数格式def main(*args,**kwargs):    '''    函数实现过程    '''    return '' #返回值

 

  参数:    没有参数,有一个参数,有多个参数;

      位置参数,默认参数,动态参数,顺序参数;

    没有参数:定义函数和调用函数时括号里都不写内容

    有一个参数:传什么就是什么

    有多个参数:位置参数

    位置参数:必须传,且有几个参数就传几个值

    默认参数:可以不传,如果不传就是用默认的参数,如果传了就用传的

    动态参数:可以接受任意多个参数,参数名之前加*,习惯参数名args,接收的是按位置传的值,返回时元组形式,参数名之前加**,习惯参数名kwargs,接收的是按关键字传的值,返回是字典形式,args必须在kwargs之前

    参数顺序:位置参数,*args,默认参数,**kwargs

 

 如下代码示例:

#定义一个my_sum函数,传入a,b的值,返回a+bdef my_sum(a,b):   #my_sum是函数名,res存总和,之后返回    res = a+b    return res  #返回值sum = my_sum(3,4)print(sum)

完整的额参数代码:即包含位置参数,动态参数,默认参数

def my_sum(a,b,*args,c=8,**kwargs):   #my_sum是函数名,res存总和,之后返回    sum = a+b    for i in args:        sum+=i    return sum,kwargs  #返回值,将默认参数前面的数计算总和,后面的赋值存储在字典sum = my_sum(3,4,4,5,6,78,1,default=2,e = 'aaaa',f = 'bbbb')print(sum)

 

函数四个部分:

  函数的定义:如何定义?第一时间想到def    啪啪啪括号冒号这堆

  函数的参数:位置,默认,动态,传输格式:位置,*args,默认,**kwargs

  函数的调用:变量 = 函数名(),如果函数有返回值,返回一个值,没有返回值,变量=None

  函数的返回值:

     没有返回值 :默认返回None

      不写return:函数内的代码执行完毕自动结束

      只写return:结束一个函数

      return None

    返回一个值:结束了函数且返回一个值,可以是任意的值

    返回多个值 : 多个值之间用逗号隔开,接收的时候可以用一个变量接收(元祖),也可以用等量的多个变量接收

  函数的参数:

    形参:定义函数的时候括号内的参数

      位置参数 :必须传

      *args :动态参数 可以接收任意多个按位置传入的参数

      默认参数 : 可以不传  —— 陷阱

      **kwargs : 动态参数 可以接受任意多个按关键字传入的参数

    实参:调用函数的时候函数时候括号内的传入的实际值

      按照位置传参数

      按照关键字传参数

      可以混用 位置参数必须在关键字传参之前

      不能对一个参数重复赋值

    默认参数的陷阱:如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值就公用这个数据类型的资源

 

 函数练习题:

1、写函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数

  解析:结合字符串方法:isdigit() ,isalpha() ,isspace()方法及if语句就可以解决

 

转载于:https://www.cnblogs.com/chenrongjin/p/10016553.html

你可能感兴趣的文章
无障碍阅读
查看>>
bzoj1494 生成树计数 (dp+矩阵快速幂)
查看>>
关于Java的Daemon线程的理解
查看>>
Android开发之WebService介绍
查看>>
多线程死锁发生情景之一:同步的嵌套
查看>>
RestFramework之解析器
查看>>
Redis安装异常解决办法
查看>>
Jsonp post 跨域方案
查看>>
python字典操作和内置方法
查看>>
【Windows】Windows Restart Manager 重启管理器
查看>>
vim切换编程语言_一步步将vim改造成C/C++开发环境(IDE) (转自:Figthing)
查看>>
cascade sqlite 数据库_SQLITE ON UPDATE操作
查看>>
python是动态数据类型语言_[Python basic]Python basic数据类型;强类型动态脚本语言,基础,基本...
查看>>
apache 代理 图片无法展示_Apache中间件漏洞详解
查看>>
android 底部上滑菜单_底部工作表
查看>>
linux查看显卡型号p4卡或者t4卡_装机宝典二十三式 | 为什么你直播那么卡?小老弟试试双卡推流吧...
查看>>
k均值聚类算法考试例题_K-means 聚类算法
查看>>
外卖匹配系统_浅谈搭建校园外卖配送平台的可行性分析
查看>>
android 代码设置居右_挖穿Android第四十九天
查看>>
命名时取代基优先顺序_浅谈有机化合物的英文命名(七)
查看>>