美文网首页Python
Python的基础知识之函数

Python的基础知识之函数

作者: 摸着石头过河_崖边树 | 来源:发表于2020-03-05 22:46 被阅读0次
一、基本概念

函数是什么? 通俗的来讲就是包括函数名 + 函数体并实现一个功能的代码块,重点是一个代码块 基本格式

  def  xxx():       # 函数名
         print('xxxx')      # 函数体
tmpdir__17_9_7_15_04_07.jpg
二、函数的参数
2.1.函数的多个参数
def sumMoreParam(num1, num2):
    print(num1 + num2)
sumMoreParam(2, 3)
2.2.函数的参数不定长参数

方式一:参数前面增加一个* 表示参数就是元祖类型, 因为元祖有序不可变

def mySum(*args):
    print(args, type(args))
mySum(1, 2, 3, 4)

方式二:参数前面增加两个** 表示参数就是字典类型

def mySum(**kwargs):
    print(kwargs, type(kwargs))
mySum(key1=1, key2=2, key3=3, key4=4)

不定长参数有2个概念
装包:把传递来的参数,包装成一个集合的形式,比如元祖、字典
拆包:把集合的参数分解成个体

def mySum(*args):
    print(len(args), *args)  # 拆包
mySum(1, 2, 3, 4)  # 装包
2.3.函数的缺省参数,参数默认值
def hate(somebody='凯尔'):
      print('我想打', somebody)
hate()
2.4函数的注意事项 python里面只有地址传递(引用传递) 参数是可变的可以修改, 不可变的不能更改
b = 10
print('b之前地址---', id(b), b)
 def change(num):
      num = num + 2
  print('num的地址-----', id(num), num)
change(b)
print('b之后地址---', id(b), b)
结果:
b之前地址--- 4401873264 10
num的地址----- 4401873328 12
b之后地址--- 4401873264 10

参数是可变的可以修改

b = [1, 3, 4]
print('b之前地址---', id(b), b)
def change(num):
      num.append(4)
print('num的地址---', id(num), num)
change(b)
print('b之后地址---', id(b), b)
结果:
b之前地址--- 4333161736 [1, 3, 4]
num的地址--- 4333161736 [1, 3, 4, 4]
b之后地址--- 4333161736 [1, 3, 4, 4]
2. 5函数的使用说明
def mySum(*args):
"""
这里函数说明
"""
pass
2. 6偏函数

方式一 :自己创建这个函数就是一个偏函数

def test1(a, b, c, d=1):
    print(a + b + c + d)

def test2(a, b, c=2, d=2):
    test1(a, b, c, d)
test2(1, 2)

方式二: 系统快速创建偏函数

def test1(a, b, c, d=1):
    print(a + b + c + d)
import functools
test3 = functools.partial(test1, c=2, d=2)
test3(1, 2)

偏函数的使用场景

import functools
a = "10010"
int2 = functools.partial(int, base=2)
int10 = functools.partial(int, base=10)
print(int2(a), int10(a))
2.7高阶函数 - 函数作为另一个函数的参数
list = [{"name": 'lz', 'age': 18}, {"name": 'zlz', 'age': 34}, {"name": 'xlz', 'age': 27}]
def getKey(item):
    return item['age']
result = sorted(list, key=getKey)
print(result)
2.8高阶函数 - 返回函数
def computeFunc(flag):
    def __sum(a, b):
        return a + b
    def __jian(a, b):
        return a - b
if flag == '+':
    return __sum
else:
    return __jian
 getFunc = computeFunc('+')
 print(getFunc(1, 2))
2.9 高阶函数-匿名函数 - lambda函数 没有return :之后的表达式就是返回值
print((lambda x, y: x + y)(1, 2))

noname = lambda x, y: x * y
print(noname(2, 4))

list = [{"name": 'lz', 'age': 18}, {"name": 'zlz', 'age': 34}, {"name": 'xlz', 'age': 27}]
result = sorted(list, key=lambda item: item['age'])
print(result)

如果需要了解更多Python知识,请查看
Python的基础知识之生成器
Python的基础知识之装饰器
Python的基础知识之迭代器

最后赠言

学无止境,学习Python的伙伴可以多多交流

相关文章

  • Python 3 学习笔记 -- def 函数

    一、def 函数基础知识 def 函数的定义 在 python 中,def 函数是用来定义一个 function(...

  • 7、函数

    1、Python之什么是函数 2、Python之调用函数 Python内置了很多有用的函数,我们可以直接调用。 要...

  • Python精简学习(九)

    Python精简学习之函数之匿名函数-匿名函数

  • Python的基础知识之函数

    一、基本概念 函数是什么? 通俗的来讲就是包括函数名 + 函数体并实现一个功能的代码块,重点是一个代码块 基本格式...

  • python的函数(简略版)

    本文主要介绍python函数的基础知识。回答了,什么是函数,如何定义函数,函数的调用及函数的作用域等等问题。本文是...

  • Python基础-20装饰器

    20.装饰器 20.1 函数基础知识     在Python中函数为一等公民,我们可以: 把函数赋值给变量 在函数...

  • 1.python基础知识

    python基础知识 1.BIF BIF(built-in functions,内置函数),例如print( )就...

  • python函数之闭包

    目录 python函数之闭包什么是闭包python中的namespace闭包的条件闭包的优点 python函数之闭...

  • Python | 函数编程的基础知识介绍

    函数基础知识 掌握自定义函数的基本语法规范和调用方法/掌握函数的各种参数的使用及调用规则 1.Python函数 ●...

  • Python精简学习(八)

    Python精简学习之函数引用-函数引用

网友评论

    本文标题:Python的基础知识之函数

    本文链接:https://www.haomeiwen.com/subject/kyslrhtx.html