python入门15 函数
函数的主要作用是实现代码复用
1 python内置函数
2 匿名函数lambda
3 自定义函数 def functionname(arg):...
#coding:utf-8
#/usr/bin/python
"""
2018-11-11
dinghanhua
函数
""" '''内置函数'''
print(round(2.345,2)) #四舍五入,保留2位小数;绝对值
print(abs(-23.333)) #绝对值 '''匿名函数 lambda'''
lambda x: x**2 #匿名函数
print(list(map(lambda x:x**3,(1,2,3)))) #x的3次方
print(list(filter(lambda x:x%2==0 , [1,2,33,44]))) #取偶数
'''自定义函数''' '''函数定义'''
def funcname(arg,sign):
'''函数说明'''
print('arg=%s,sign=%s'%(arg,sign))
return '''带缺省值的函数'''
def funcname2(name,nation = 'china'): #第二个参数带缺省值,缺省参数放到最后
print('name is %s,nation is %s'%(name,nation))
return name,nation '''函数调用'''
#不带参数名,按顺序赋值
res = funcname('wegjoweg','no sign')
print('没有返回值,返回:',res)
#指定参数名,顺序可打乱
funcname(sign = 2,arg = 'ok') #缺省参数未传参
res = funcname2('小明')
print(res)
#缺省参数传参
res = funcname2('peter','Americia')
print('返回多个值,返回的是一个tuple:',res)
'''缺省参数=list 出现的异常'''
def func(val,list=[]):
list.append(val)
return list
list1 = func(10)
list2 = func('abc',[])
list3 = func('')
print(list1,list2,list3) #[10, '2'] ['abc'] [10, '2'] list1和list3同一个地址,均指向缺省参数的内存地址 #规避以上问题,list=None
def func(val,list=None):
if list is None:
list = [] #每次创建一个
list.append(val)
return list
list1 = func(10)
list2 = func('abc',[])
list3 = func('')
print(list1,list2,list3) #[10] ['abc'] ['2']
'''可变参数*arg,取出来是元组'''
def func(name,*other):
print('name=%s,other=%s'%(name,other)) func('john',18,'一年级')
func('peter',20) '''可变参数**arg,取出来是字典'''
def func(name,**other):
print('name=%s,other=%s'%(name,other)) func('john',age=18,grade='一年级')
other = {'age':18,'grade':'grade 1'}
func('peter',**other)
the end!
python入门15 函数的更多相关文章
- Python入门篇-函数、参数及参数解构
Python入门篇-函数.参数及参数解构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.函数概述 1>.函数的作用即分类 函数 数学定义:y=f(x) ,y是x的函数,x ...
- Python入门之 函数
Python入门之 函数 1.初识函数 1.1 什么是函数? <1> 将某个功能封装到一个空间中就是一个函数 <2> 减少重复代码 1.2 定义函数 def -- python ...
- Python入门-初始函数
今天让我们来初步认识一个在python中非常重要的组成部分:函数 首先,让我们来幻想这样一个场景: 比如说我们现在想要通过社交软件约一个妹子,步骤都有什么? print('打开手机 ') print( ...
- python入门总结-函数
函数形式: def functionname(paramlist): function body 局部变量不改变实参的值,如果需要改变,声明global.比如,global x 可以给函数默认值,注意 ...
- python入门之函数
为什么要用函数 python的函数是由一个新的语句编写,即def ,def是可执行的语句--函数并不存在,知道python运行了def后才存在. 函数是通过赋值函数传递的,参数通过赋值传递给函数. d ...
- Python入门之函数的装饰器
本章目录: 装饰器: 一.为什么要用装饰器 二.什么是装饰器 三.无参装饰器 四.装饰器语法糖 五.认证装饰器实现 六.叠加多个装饰器 七.带参装饰器 ======================== ...
- Python入门之函数的嵌套/名称空间/作用域/函数对象/闭包函数
本篇目录: 一.函数嵌套 二.函数名称空间与作用域 三.函数对象 四.闭包函数 ============================================================ ...
- Python入门day04_函数与装饰器
一.函数入门 什么是函数: # 函数:函数是一系列代码的集,用来完成特定功能的代码块,类似于工具,可以重复不但的去使用 为什么要有函数: # 优点:# 1. 避免代码的冗余 # 2. 让程序代码结构更 ...
- python入门之函数对象
目录 函数是第一类对象 1.函数名可以被引用 2.函数名可以当做参数传递 3.函数名可以当做返回值使用 4.函数名可以被当做容器类型的元素 函数是第一类对象 First-Class Object : ...
随机推荐
- [转] 前后端分离之JWT用户认证
[From] http://www.jianshu.com/p/180a870a308a 在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当 ...
- 采用MQTT协议实现android消息推送(3)选ActiveMQ当服务端
官网: http://activemq.apache.org/ 1.简介 强壮.快速.客户端支持多种语言的mqtt服务端软件. 2.特性 MQTT v3.1.AMQP v1.0.Stomp .Open ...
- 解决Resharper在Core项目中无法执行单元测试的问题
项目升级core了,resharper最近升级到2018.1版本,但是安装后还是无法直接运行单元测试,昨天小姐姐发了解决方法,贼有用.所以记录一下,给自己以后或者其他遇到此问题的小伙伴用. 解决Re ...
- Oracle RAC集群搭建(三)--挂载磁盘
一,磁盘配置 查看由上回配置的共享磁盘,一共三块-----以下所有内容均两台物理机都需要操作 查看磁盘id [root@rac2 ~]# /usr/lib/udev/scsi_id -g -u /de ...
- pytorch 安装
安装pytorch时,官网不能选择版本.原以为是浏览器问题,换了几个浏览器都不行. 后来FQ之后,就能选择版本了. sudo pip install torch torchvision
- zookeeper 节点信息
使用get命令获取指定节点的数据时, 同时也将返回该节点的状态信息, 称为Stat. 其包含如下字段: czxid. 节点创建时的zxid. mzxid. 节点最新一次更新发生时的zxid. ctim ...
- CountDownLatch 多线程,等待所有线程结束
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 主要方法 public CountDownLatch(int count); 构造 ...
- java collection与数组(Array)互转
先确定几个概念,这里说的数组元素,除基本类型数组外,并非指元素对象本身,而是它们的引用.换句话说,基本数组的元素是数值本身,非基本数组的元素都是一个地址(对应指针). 1.collection的元素不 ...
- bzoj 4771: 七彩树
Description 给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点.每个节点都被染上了某一种颜色,其中第i个节 点的颜色为c[i].如果c[i]=c[j],那么我们认为点i和点j拥有 ...
- Vue2.0以后,有哪些变化
最近移动端项目版本升级,Vue由之前的1.0升级到2.3,那么,Vue2.0之后,有哪些细节的变化呢,现在总结如下: 1.在每个组件模板,不再支持片段代码 组件中模板: 之前: <templat ...