python函数

Posted rokoko

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数相关的知识,希望对你有一定的参考价值。

1、函数定义

def 函数名():

  函数体

2.input函数和print函数

input()

接受一个标准输入数据,返回字符串类型

print("width =", w, " height =", h, " area =", area(w, h))

3.函数返回值

def 函数名():

  函数体

  return 变量

print(函数名)

4.函数参数

def 函数名(参数1,参数2)

  return 变量

c=函数名(参数1,参数2)

print(c)

 5.不定长参数

一个函数能处理比当初声明时更多的参数,加了*的参数以元组的形式被导入,存放未命名变量参数.加了**的以字典形式被导入。

def printinfo( arg1, *vartuple ):

  "打印任何传入的参数"

  print ("输出: ")

  print (arg1)

  print (vartuple)

# 调用printinfo 函数

printinfo( 70, 60, 50 )

printinfo( 10 )

 

def printinfo( arg1, **vardict ):

  函数体

printinfo(1, a=2,b=3)

 

如果单独出现星号 * 后的参数必须用关键字传入。

def f(a,b,*,c)

f(1,2,3) #错误

f(1,2,c=3)

 

6.匿名函数

  • lambda 只是一个表达式,函数体比 def 简单很多。
  • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
  • lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
  • 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

a=lambda 变量1,变量2:函数体

a(变量1,变量2)

 

7.作用域

global 变量名 #局部变量变全局变量

nonlocal 变量名 #使局部变量在上一层也能用

def outer():

  num = 10

  def inner():

    nonlocal num # nonlocal关键字声明

    num = 100

    print(num)

  inner()

  print(num)

outer()

输出

100

100

#错误示范,因为 test 函数中的 a 使用的是局部,未定义,无法修改

a = 10

def test():

  a = a + 1

  print(a)

test()

#正确示范

a = 10

def test(a):

  a = a + 1

  print(a)

test(a)

 

以上是关于python函数的主要内容,如果未能解决你的问题,请参考以下文章

Python的函数有哪些?

Python 函数声明和调用

python基础9 -----python内置函数

Python2 与 Python3 的 map 函数

05python 的内置函数以及匿名函数(python函数)

python 8个常用内置函数解说