十分钟python 入门 函数、模块

  源码下载

1.函数

函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中。

函数可以把数据作为结果返回。

创建函数

在 Python 中,使用 def 关键字定义函数:

#在 Python 中,使用 def 关键字定义函数:
def my_function():
  print("Hello from a function")
#调用
my_function()
#输出:Hello from a function
参数

信息可以作为参数传递给函数。

参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。

#参数
def my_function(fname):
  print('您好' + fname )

my_function("小明")
#输出:您好小明
默认参数值

如果我们调用了不带参数的函数,则使用默认值:

#如果我们调用了不带参数的函数,则使用默认值:
def my_function(country = "China"):
  print("I am from " + country)

my_function("India")
#输出:I am from India
my_function()
#输出:I am from China
以 List 传参

您发送到函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。

#函数的参数可以是任何数据类型(字符串、数字、列表、字典等),并且在函数内其将被视为相同数据类型。
def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)
#输出:apple banana cherry
返回值

如需使函数返回值,请使用 return 语句:

#如需使函数返回值,请使用 return 语句:
def my_function(x):
  return 5 * x

print(my_function(4))
#输出:20
关键字参数

您还可以使用 key = value 语法发送参数。参数的顺序无关紧要。

#您还可以使用 key = value 语法发送参数。参数的顺序无关紧要。
def my_function(child3, child2, child1):
  print("你好" + child3)

my_function(child1 = "小明", child2 = "小红", child3 = "小黑")
#输出:你好小黑
任意参数

如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *。

这样,函数将接收一个参数元组,并可以相应地访问各项:

#如果您不知道将传递给您的函数多少个参数,请在函数定义的参数名称前添加 *
def my_function(*kids):
  print("你好 " + kids[2])

my_function("小明", "小红", "小黑")
#输出:你好 小黑
递归

Python 也接受函数递归,这意味着定义的函数能够调用自身。

#Python 也接受函数递归,这意味着定义的函数能够调用自身。
def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result

tri_recursion(6)
#输出:1 3 6 10 15 21
 函数高级用法@调用
#函数调用高级用法
def new_tips(argv):
  def tips(func):
    def nei(a, b):
      print('start %s %s' % (argv, func.__name__))
      func(a, b)
      print('stop')

    return nei
  return tips

# 执行add函数时调用new_tips函数
@new_tips('add_module')
def add(a, b):
  print(a + b)


print(add(4, 5))
#输出: start add_module add  9 stop None

Python 模块

模块是包含一组函数的文件,希望在应用程序中引用。

创建模块

如需创建模块,只需将所需代码保存在文件扩展名为 .py 的文件中:

在名为 mymodule.py 的文件中保存代码:

#模块
def greeting(name):
  print("Hello, " + name)
使用模块

现在,我们就可以用 import 语句来使用我们刚刚创建的模块:

#导入名为 mymodule 的模块,并调用 greeting 函数
import mymodule

mymodule.greeting("小明")
#输出:Hello, 小明

如果使用模块中的函数时,请使用以下语法:

module_name.function_name
模块中的变量

模块可以包含已经描述的函数,但也可以包含各种类型的变量(数组、字典、对象等):

在文件 mymodule.py 中保存代码:

#模块中的变量
person1 = {
  "姓名": "小明",
  "年龄": 11,
  "国家": "china"
}

导入名为 mymodule 的模块,并访问 person1 字典:

#导入名为 mymodule 的模块,并访问 person1 字典:
import mymodule
a = mymodule.person1["年龄"]
print(a)
#输出:11
重命名模块

您可以在导入模块时使用 as 关键字创建别名:

#为 mymodule 创建别名 mx:
import mymodule as mx

a = mx.person1["姓名"]
print(a)
#输出:小明
内建模块

Python 中有几个内建模块,您可以随时导入。

#Python 中有几个内建模块,您可以随时导入。
import platform

x = platform.system()
print(x)
#输出:Windows
使用 dir() 函数

有一个内置函数可以列出模块中的所有函数名(或变量名)。dir() 函数:

#列出属于 platform 模块的所有已定义名称
import platform

x = dir(platform)
print(x)

从模块导入

您可以使用 from 关键字选择仅从模块导入部件。

#从模块导入部件
from mymodule import person1

print(person1["年龄"])
#输出:11

若此文档不够详细,​可以参考十分钟学会python_哔哩哔哩_bilibili​

猜你喜欢

转载自blog.csdn.net/kan_Feng/article/details/131919399