python基础6(函数 Ⅰ)
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
- 定义
def function_name(args...):
function_body #例子
def print_something():
print('Hello,function') - 命名规则
#和变量的命名规则一样
1、函数名只能包含字符串、下划线和数字且不能以数字开头
2、不能是关键字 - 返回值
#返回值有三种
## 没有返回值
## 一个返回值
## 多个返回值 #没有返回值
##1.不需要返回任何数据,不用return
def func1():
print('haha') ##2.用以结束函数的运行
def fun2():
return
print('这个print函数不会被执行') #一个返回值
##可以返回任何类型的值
def fun3():
return [1,2,3] #元组和字典,字符串数字都行 #返回多个值
##返回值之间使用逗号隔开,使用相应数量的变量接收返回值
def fun4():
a = 1
b = 2
return a,b
n1, n2 = fun4() - 参数
- 实参和形参
实际参数:调用函数时候的参数 形式参数,定义函数时候的参数 def func(a): #a是形式参数
pass s = 'aaa'
func(s) #s是实际参数 - 位置参数
#当我们调用函数的时候,把对应位置的参数放进去,这些参数就是位置参数
def my_sum(a,b,c):
return a+b+c 这里a,b,c就是位置参数 - 关键字参数
#如果我们在调用函数的时候,指定参数=值,就是关键字参数
def my_sum(a,b,c):
return a+b+c my_sum(b=1,a = 2,c=8) - 默认参数
#如果一个参数大多数情况都是同一个值,就可以使用默认参数
def print_name(name = 'hsr'):
print(name) print_name() #输出hsr print_name('haha') #输出haha - 动态参数
#使用*args接收按位置传值多余的参数,存到一个元组中
def my_sum(*args): #*是必须的,但是args可以换成其他变量名
sum = 0
for tmp in args:
sum += tmp
return sum
my_sum(1,2,3,4,5) #使用**kwargs接收按关键字传值的参数,存到一个字典中
def print_something(**kwargs):
for k,v in kwargs.items():
print("%s , %s"%(k,v))
print_something(a=1,b=2,c=3) #动态传参的另一种方式
##传给*args
l = [1,2,3]
my_sum(*l) #在序列前面加* ##传给**kwargs
d = {'a':1,'b':2}
print_something(**d) #在字典前面加** - 参数的顺序
位置参数,*args,**kwargs,默认参数
- 实参和形参
- 函数注释
def func(arg):
'''
描述功能
arg:...参数功能类型
return:返回值类型
'''
函数体 - 解包
#python会自动把逗号隔开的多个值默认为是一个元组
s = 1,2,3
print(type(s)) #我们可以用相同数量的变量来将元组,列表,字典中的元素分别赋值到变量上
li = [1,2,3]
a,b,c = li #a=1,b=2,c=3
python基础6(函数 Ⅰ)的更多相关文章
- python基础——匿名函数
python基础——匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中,对匿名函数提供了有限支持.还是以map()函数为例,计算f(x)=x2时 ...
- python基础——返回函数
python基础——返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常情况下,求和的函数是这样定义的: def calc_ ...
- python基础——sorted()函数
python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个d ...
- python基础——filter函数
python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...
- python基础——匿名函数及递归函数
python基础--匿名函数及递归函数 1 匿名函数语法 匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lambda表示匿名函数,冒号前面的x ...
- 八. Python基础(8)--函数
八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x): ' ...
- python基础之函数详解
Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...
- Python学习笔记(一)python基础与函数
1.python基础 1.1输入与输出 输出 用print加上字符串,就可以打印指定的文字或数字 >>> print 'hello, world' hello, world > ...
- Day3 - Python基础3 函数、递归、内置函数
Python之路,Day3 - Python基础3 本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...
- Python基础__函数
本节将进入函数的介绍,函数是Python基础中最精彩的部分之一,接下来将对函数做详细介绍.函数 函数就是对代码进行一个封装.把实现某一功能的代码进行封装到一起.下次需要使用时不需要进行编写代码直接调用 ...
随机推荐
- MySQL---Day2
-- 转载:http://www.cnblogs.com/yuanchenqi/articles/6357507.html CREATE TABLE employee1( id TINYINT PRI ...
- luoguP1002
p1002 题意: 从坐标A到坐标B的可能路线(有一些点不能走)情况,很明显可以看出用dp做 m[i][j]=m[i-1][j]+m[i][j-1](注意处理不能走的点) 自己在初始化时犯了错,第1行 ...
- BZOJ 4006 [JLOI2015]管道连接(斯坦纳树+子集DP)
明显是一道斯坦纳树的题. 然而这题只需要属性相同的点互相连接. 我们还是照常先套路求出\(ans[s]\). 然后对\(ans[s]\)做子集DP即可. 具体看代码. #include<iost ...
- LAMP自动安装脚本
#!/bin/bash # 功能描述:LAMP自动安装脚本 # 初始化 if [ "$(cat /etc/system-release | awk '{print $(NF-1)}' | a ...
- Python破解Wifi密码思路
一.前言说明 本机运行环境:系统环境Win10,运行环境Python3.6,运行工具Pycharm 需要Python的包有:pywifi 这是一种暴力破解wifi的模式,需要的时间比较长,本文主要提供 ...
- Vijos 1456 最小总代价 (状压dp)
看到这道题n只有16,就可以想到状压dp 每个人只有经过或者没经过,那就用1表示经过,0表示没经过 但是不是当前在谁那里,所以再加一维来记录 所以f[state][i]表示在物品在i,当前的状态是st ...
- DQL查询语句使用(select)
9)DQL查询语句使用 SELECT语句在PL/SQL中使用,必须 采用下面用法: select id INTO 变量 from t001 where id=5; 将记录字段 ...
- [using_microsoft_infopath_2010]Chapter5 为表单添加逻辑规则
本章概要: 1.在表单中使用逻辑和验证,不写代码 2.使用规则任务板 3.添加表单条件格式 4.通过函数和公式添加更加高级的规则 5.通过对驶入使用规则创建直观的用户界面
- 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)
之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...
- spark学习及环境配置
http://dblab.xmu.edu.cn/blog/spark/ 厦大数据库实验室博客 总结.分享.收获 实验室主页 首页 大数据 数据库 数据挖掘 其他 子雨大数据之Spark入门教程 林子 ...