1.函数的定义

  def  func():

2.函数的调用

  func()

3.函数的返回值

#1.没有返回值
# (1)不写return
# (2)只写return后面的代码不在继续执行,返回空,代表结束一个函数,跳到整个函数外面
# break 只是跳出函数内的循环内容
# (3)return None 结束 这个不常用
# 2.返回一个值
# (1) 可以返回任何数据类型
# (2)只要返回了,就可以接收了
# (3)如果一个程序有多个return 只返回一个
# 3.返回多个值
# 多个返回值用多个变量接收,有多少返回值,就用多少变量接收
# 用一个变量接收,返回元组
# def func():
# l = ['金老板','二哥']
# for i in l:
# if i == '金老板':
# return None
# print('==========')
# ret = func()
# print(ret)
#
#
#
# def func():
# #return [1,2,3,4]
# return False
# print(func())
#
# def func2():
# return 1,2
# print(func2())
#
# r1,r2 = func2()
# print(r1,r2)

3.函数的参数

函数定义和调用的时候

位置参数,*args,默认参数,**kwargs
1.没有参数,定义和调用函数时,括号内都不写内容
2.1个参数,传什么就是什么
3.多个参数
站在实参角度长
位置参数
按照关键字传
位置传和关键字传可以混用,必须先按照位置传参,然后按照关键字
ret = my_sum(a = 5,2)是不对的
不能给同一个变量传多个值
站在形参的角度上
位置参数:必须传,且有几个参数传几个,多传和少传都报错,
4.动态参数
*args接收按照位置传参的值,组织成一个元组
**args接收按照关键字传参的值,组织成一个字典
可以接收任意多个参数
*args 加*变成动态参数,参数名之前加*,习惯参数名用args
按照关键字传不行
如果有多个关键字参数需要调用,虚参用**kwargs
5.顺序 必须先定义位置参数,然后定义args,最后定义位置参数
参数名之前加**,习惯参数名kwargs
# def my_sum(a,b):
# res = a + b
# return resd
# ret = my_sum(1,2)
# print(ret)
# ret = my_sum( 3,b = 6)
# print(ret)
# def classmate(name,sex = '男'): #默认参数,如果不传就用默认参数,如果传了,就传递传的值+
# #只有调用函数的时候
# #按照位置传: 直接写参数的值
# #按照关键字: 关键字 = 值
# #定义函数的时候:
# #位置参数:直接定义参数
# #默认参数:关键字参数: 参数名 = ’默认值'-0
# #定义函数的时候,必须先定义位置参数,后定义默认参数
# print('{0}同学是{1},我爱{0}'.format(name,sex))
# classmate('二哥')
# classmate('苍','女') # *args 动态参数
def sum(*args):
n = 0
for i in args:
n += i
print(n)
sum(1,2)
sum(1,2,3)
sum(1,2,3,4) #########
def func(**kwargs):
print(kwargs) func(a = 1,b = 2,c = 4) def func(*args,default = 2,**kwargs): #先位置参数,后关键字参数,即args必须在kwargs之前
print(args,kwargs)
func(1,2,3,4,5,default = 1, va = 'asdkfj;als',b = 'dsfjl')

  

动态参数的另外一种传参方式
def func(*args):   #站在形参的角度上,给变量加上*,就是组合所有传来的值
print(args)
func(1,2,3,4,5)
l = [1,2,3,4,5]
func(*l) #站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散 def func(**kwargs):
print(kwargs)
func(a = 1,b = 2)
d = {'a' : 1,'b' : 2}
func(**d)
函数的注释
def func():
'''
这个函数实现了什么功能
参数1:
参数2:
:return:是字符串或者列表的长度
''' #默认参数的陷阱问题

python学习9 函数的基础知识的更多相关文章

  1. python学习(一) 基础知识

    开始学习<Python基础教程> 1.2 交互式解释器 按照书上的例子敲了个最简单的print函数,居然报错: >>> print "fsdfs"Sy ...

  2. python学习第一天 计算机基础知识

    目录 什么是编程语言 什么是编程? 为什么要编程? 计算机5大组成分别有什么作用? qq启动的流程? 建议相关学习 课外 什么是编程语言 什么是编程语言? python和中文.英语一样,都是一门语言, ...

  3. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  4. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  5. Python专题三字符串的基础知识

    Python专题三字符串的基础知识 在Python中最重要的数据类型包括字符串.列表.元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号. ...

  6. python爬虫之Beautiful Soup基础知识+实例

    python爬虫之Beautiful Soup基础知识 Beautiful Soup是一个可以从HTML或XML文件中提取数据的python库.它能通过你喜欢的转换器实现惯用的文档导航,查找,修改文档 ...

  7. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  8. Python学习一:序列基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7858473.html 邮箱:moyi@moyib ...

  9. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

随机推荐

  1. 二、mycat基础知识、基本配置

    官网 http://www.mycat.io/ Mycat 概要介绍 https://github.com/MyCATApache/Mycat-Server 入门指南 https://github.c ...

  2. HDU 4649 Professor Tian(概率DP)题解

    题意:一个表达式,n + 1个数,n个操作,每个操作Oi和数Ai+1对应,给出每个操作Oi和数Ai+1消失的概率,给出最后表达式值得期望.只有| , ^,&三个位操作 思路:显然位操作只对当前 ...

  3. BellmanFord为什么只需松弛V-1次

    首先s不用松弛,V-=1 然后对于其他的顶点..每次都至少能完全松弛一个顶点.. 为什么呢..因为初始d[s]=0,所以和s相邻接的边都将被松弛完全..无论松弛的顺序 那么对于这个图,无论松弛的顺序都 ...

  4. Community Cloud零基础学习(五)Topic(主题)管理

    我们以前讲过 Service Cloud 零基础(三)Knowledge浅谈,我们日常可以看见很多得文章或者帖子,我们可以将其通过data category / group进行管理.但是一个系统中得文 ...

  5. flex item default All In One

    flex item default All In One flex item default 初始值 === flex: 0 1 auto; https://drafts.csswg.org/css- ...

  6. map & forEach

    map & forEach let logs = `2018-05-23 20:24:09,876 [Timer-2] ERROR org.gil.sydb.server.table.sync ...

  7. X-Frame-Options & iframe & CORS

    X-Frame-Options & iframe & CORS https://github.com/xgqfrms/FEIQA/issues/23 X-Frame-Options i ...

  8. app启动速度怎么提升?

    简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...

  9. Python爬虫_百度贴吧(title、url、image_url)

    本爬虫以百度贴吧为例,爬取某个贴吧的[所有发言]以及对应发言详情中的[图片链接] 涉及: request 发送请求获取响应 html 取消注释 通过xpath提取数据 数据保存 思路: 由于各贴吧发言 ...

  10. 微信小程序:优化页面要渲染的属性

    问题:页面中只用到四个属性:goods_name,goods_price,goods_introduce,pics,但是整个对象中有22个属性,小程序中建议:data中只存放标签中要使用的数据,而现在 ...