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(‘2‘)
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(‘2‘)
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!

原文地址:https://www.cnblogs.com/dinghanhua/p/9973450.html

时间: 2024-10-11 17:26:36

python入门15 函数的相关文章

(一)Python入门-5函数:03函数也是对象-内存分析

函数也是对象,内存底层分析: Python中,“一切都是对象”.实际上,执行def 定义函数后,系统就创建了相应的函数 对象.我们执行如下程序,然后进行解释: 1 #函数也是对象 2 def print_star(n): 3 print('*'*n) 4 5 print_star(3) 6 c = print_star 7 c(3) 8 9 print(id(print_star)) 10 print(id(c)) 11 print(type(c)) 上面代码执行 def 时,系统中会创建函数对

(一)Python入门-5函数:07lambda表达式和匿名函数-eval()函数

一:lambda表达式和匿名函数 lambda表达式可以用来声明匿名函数.lambda 函数是一种简单的.在同一行中定义函数 的方法.lambda函数实际生成了一个函数对象. lambda表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数 的返回值. lambda表达式的基本语法如下: lambda arg1,arg2,arg3... : <表达式> arg1/arg2/arg3为函数的参数.<表达式>相当于函数体.运算结果是:表达式的运算结果. #lambd

python入门基础-函数装饰器的理解

1.装饰器 # 知乎某大神是这么比喻装饰器的:内裤可以用来遮羞,但是到了冬天他就没有办法为我们御寒,聪明的人于是发明了长裤,有了长裤后宝宝再也不冷了, # 装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效. # # 大神是将程序中原本的函数比喻成内裤,而装饰器比喻成了长裤,这样在寒冬里它们结合一起使用就给所有人带来了温暖. # # 装饰器本质上是一个python函数,它可以让其它函数在不改动代码的情况下增加额外的功能,并且装饰器的返回值也是一个函数对象. # 在

Python入门之函数的装饰器

本章目录: 装饰器: 一.为什么要用装饰器 二.什么是装饰器 三.无参装饰器 四.装饰器语法糖 五.认证装饰器实现 六.叠加多个装饰器 七.带参装饰器 =========================================================== 一.开放封闭原则 引子--为什么要用装饰器 软件一旦上线后,对修改源代码是封闭的,对功能扩展是开放的. 也就是说我们必须找到一种解决方案: 能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能 总结,原则如下: 1.不

(一)Python入门-5函数:02形参和实参-文档字符串-函数注释-返回值详解

一:形参和实参 [操作]定义一个函数,实现两个数的比较,并返回较大的值. 1 def printMax(a,b): 2 '''实现两个数的比较,并返回最大值!''' 3 if a >b: 4 print(a,'较大值') 5 else: 6 print(b, '较大值') 7 8 printMax(20,30) 9 printMax(30,5) 10 11 #测试文档字符串的使用 12 help(printMax) 13 help(printMax.__doc__) 上面的 printMax 函

(一)Python入门-5函数:01函数的基本概念-内存分析-函数的分类-定义和调用

一:函数介绍 函数是可重用的程序代码块.函数的作用,不仅可以实现代码的复用,更能实现代码的 一致性.一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现. 在编写函数时,函数体中的代码写法和我们前面讲述的基本一致,只是对代码实现了封 装,并增加了函数调用.传递参数.返回计算结果等内容. 函数基本概念: 1. 一个程序由一个个任务组成:函数就是代表一个任务或者一个功能. 2. 函数是代码复用的通用机制. 二:Python函数的分类 Python中函数分为如下几类: 1. 内置函数

(一)Python入门-5函数:10nonlocal-global-LEGB规则

一:nonlocal关键字 nonlocal 用来声明外层的局部变量. global 用来声明全局变量. #测试nonlocal.global关键字的用法 a = 100 def outer(): b = 10 def inner(): nonlocal b #声明外部函数的局部变量 print('inner:b',b) b = 20 #内部函数中修改了外部函数变量b的值 global a #声明全局变量 a = 200 inner() print('outer:b',b) outer() pr

(一)Python入门-5函数:05参数的传递-可变对象-不可变对象-浅拷贝和深拷贝-不可变对象含可变子对象

一:参数的传递 函数的参数传递本质上就是:从实参到形参的赋值操作. Python中“一切皆对象”, 所有的赋值操作都是“引用的赋值”.所以,Python中参数的传递都是“引用传递”,不 是“值传递”.具体操作时分为两类: 1. 对“可变对象”进行“写操作”,直接作用于原对象本身. 2. 对“不可变对象”进行“写操作”,会产生一个新的“对象空间”,并用新的值填 充这块空间.(起到其他语言的“值传递”效果,但不是“值传递”) 可变对象有: 字典.列表.集合.自定义的对象等 不可变对象有: 数字.字符

Python入门之函数-1

本篇目录: 一. 函数的介绍 二. 函数的定义 三. 定义函数的三种类型 四. 函数调用的阶段 五. Return返回值 ========================================================================== 一. 函数的介绍 1. 什么是函数?为什么要有函数? 1.1. 具备一个特定功能的工具(类比)>>>函数 1.2  事先准备工具的过程(类比)>>>函数的定义 1.3 工具直接拿来使用,使用其特定的功能