前言

以前写的python代码都是像记流水账一样,那么函数时什么额?它可以在任何需要它的地方进行调用,函数分为:

  • 内置函数,print(),len()
  • 自定义函数

一、自定义函数

1、我们都知道内置函数 len() 是计算长度,如下:

s = '我是十位字符串666'
lg = len(s)
print(lg)

 2、这是有没有想到自定义一个函数也是计算长度呢?   直接定义函数名 def xxx():  一般小写,我们一起看看吧

def my_len(s):            # 自定义 my_len 函数
count = 0
for i in s:
count += 1
return count s = '我是十位字符串666'
lg = my_len(s) # 调用 my_len 函数计算长度
print(lg)

 3、函数返回值:return

①return 表示有返回值,结束函数调用,没返回值就不写 return

②return 可返回多个值,用多个变量接收:有多少返回值就用多少变量接收、用一个变量接收: 得到的是一个元组

# 多个返回值,有多少返回值就用多少变量接收,一个变量接收返回的是元组。
def common():
return 1, 2, 'ss'
print('一个变量接收:', common()) # 一个变量接收 r1, r2, r3 = common()          # 多个变量接收
print('多个变量接收:', r1, r2, r3)

 4、函数的形参与实参:

①形参,定义函数时的参数,接收参数;

  • 位置参数:必须传,且有几个参数就传几个值
  • 默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的(也就是常说的默认值)

②实参,调用函数实际传入的参数;

  • 按照位置传参
  • 按照关键字传参
  • 混着用可以:但是 必须先按照位置传参,再按照关键字传参数
  • 不能给同一个变量传多个值

5、定义函数时注意:

  • 位置参数 : 直接定义参数
  • 默认参数,关键字参数 :参数名 = '默认的值'
  • 动态参数 : 可以接受任意多个参数,也就是万能参数(参数名之前加*,习惯参数名args、参数名之前加**,习惯参数名kwargs)
  • 顺序:①位置参数,②*args,③默认参数,④**kwargs
def my_len(s, a, *args, q=123, **kwargs):  # 万能参数 

    return s, a, args, q, kwargs

# *args 是元组, **kwargs 是字典
lg = my_len('我是S', '我是a', 'ar1', 'ar2', q=321, name='小龙')
print(lg)

6、另一种方式传参

① *arges:组合所有传过来的值,为元组

def login(*args):
''' login注释 '''
print(args) a = '小龙', '笑脸', 'GG', 889
login(*a)

② **kwargs :关键字传参,组合为字典

def login(**kwargs):
''' login注释 '''
print(kwargs) login(a=1, b=2)
a = {'a': 1, 'b': 2}
login(**a)

欢迎来QQ交流群:482713805

python-16-初识函数的更多相关文章

  1. python基础 (初识函数&函数进阶)

    函数基础部分 .什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  2. python开发初识函数:函数定义,返回值,参数

    一,函数的定义 1,函数mylen叫做函数名 #函数名 #必须由字母下划线数字组成,不能是关键字,不能是数字开头 #函数名还是要有一定的意义能够简单说明函数的功能 2,def是关键字 (define) ...

  3. python之初识函数

    函数: 函数是对功能或动作的封装. 函数的语法和定义: def 函数名(): 函数体 调用函数: 函数名() 函数返回值: return : 返回 def yue(): print("拿出手 ...

  4. python ---16 初识面向对象

    面向对象 一 .面向对象和面向过程比较 ①面向过程:一切以事物的发展流程为核心    优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 ②面向对象:一切以对象为中心. 一切皆为对象. 具体的某一 ...

  5. 跟着太白老师学python 09day 初识函数

    函数的最主要的目的:封装一个功能 函数的优点: 减少代码的复用率, 增加代码的阅读性 def my_len(arvg): # arvg 形参 my_len函数名,应该具有代表性,让你一看就明白 # 函 ...

  6. Python之初识函数(Day11)

    一.函数的定义与调用 总结一: 定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":". def 是固定的,不能变,必须是连续的def三个字母,不能分开... ...

  7. 11 Python之初识函数

    ---恢复内容开始--- 1. 什么是函数? f(x) = x + 1 y = x + 1 函数是对功能或者动作的封装 2. 函数的语法和定义 def 函数名(): 函数体 调用: 函数名() 3. ...

  8. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  9. python基础之 初识函数&函数进阶

    函数基础部分 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.定义函数 定义:def 关键词开头,空格之后接函数名 ...

  10. 16.python内置函数

    Python 内置函数:https://www.runoob.com/python/python-built-in-functions.html 原文:https://www.cnblogs.com/ ...

随机推荐

  1. 【Vuejs】269- 提升90%加载速度——vuecli下的首屏性能优化

    前言 之前用 ,所以接下来还会介绍一些它们在优化上的异同 分析 vuecli 2.x自带了分析工具只要运行 npm run build --report 如果是 vuecli 3的话,先安装插件 cn ...

  2. JQuery 操作checkbox

    获取checkbox选中的状态 deleteAll全选的name 1. $("input[name='deleteAll']").is(":checked") ...

  3. Goodbye 2019,Welcome 2020 | 沉淀 2020

    引言 时间如梭,娃都可以打酱油了. 转眼间第一个五年计划,已过了一半. 年终总结是个打脸的好地方,曾经夸下的海口,有的真的成了海口. 所幸,一切都在按好的方向发展.但乐观背后容易忽略潜在的问 ...

  4. 深入理解Kafka必知必会(3)

    Kafka中的事务是怎么实现的? Kafka中的事务可以使应用程序将消费消息.生产消息.提交消费位移当作原子操作来处理,同时成功或失败,即使该生产或消费会跨多个分区. 生产者必须提供唯一的transa ...

  5. Base64编码原理及应用

    最近在做一个H5上传图片并压缩的项目,其过程主要是先将图片上传通过readAsDataURL获取上传图片base64编码,然后根据高宽比将图片画到canvas上实现压缩,在通过toDataURL获取压 ...

  6. vue项目简单菜单排序

    功能:拖拉后,数据重组,然后返回数组给后台处理 代码如下: <template> <el-dialog title="菜单排序" :close-on-click- ...

  7. 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告

    0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...

  8. Docker浅析

    1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这 ...

  9. Spring Boot Web开发与thymeleaf模板引擎

    简介: 使用Springboot应用,选中需要的模块, Spring已经默认将场景配置好了,只需在配置文件中少量配置就可以运行起来 自己编写业务代码 自动配置原理 这个场景Springboot帮我们配 ...

  10. 通过 loganalyzer 展示数据库中的系统日志

    目录 通过 loganalyzer 展示数据库中的日志 环境准备 准备服务器: 日志服务器: 数据库服务器: 测试日志服务器和数据库是否连接: websrv服务器端: 通过 loganalyzer 展 ...