首页 > 编程语言 >Python快速进修指南:函数基础

Python快速进修指南:函数基础

时间:2024-06-19 13:30:00浏览次数:13  
标签:指南 Java 函数 Python 参数 numbers print 进修

今天介绍的是函数,讨论函数以及与Java方法的区别。

python具体学习资料在下方分享:

与Java方法不同,函数不需要像Java方法一样讲究修饰符等其他特性,它只需要使用"def"关键字进行声明。另外,函数的参数也与Java方法有所不同,Java方法中不存在默认参数的概念,而在Python中,函数参数是可以有默认值的,并且可以通过传递关键字参数的方式来指定参数顺序。

此外,Python函数还具有可变参数的特性,不同于Java中的实现方式,Python使用星号符号(*)来实现可变参数。请注意这种写法的使用方式。更为强大的是,Python还提供了双星号符号(**)的写法,下面我们将详细讨论这一特性。

最后,来谈谈返回值。与Java不同的是,Python函数可以返回多个值,而Java中需要将这些值封装成对象。Python的这种设计让我们能够更加方便地处理返回值。另外,Python还提供了一些内置函数,但如果你想使用Java的内置方法,很抱歉,你需要直接使用对象来调用这些方法。好了,接下来让我们简单了解一下函数的一些其他特性。

函数声明

在Python中,可以使用关键字def来声明函数。函数声明的基本语法如下:

def 函数名(参数1, 参数2, ...):
    # 函数体
    # 执行的代码块
    return 返回值
  • def关键字用于定义函数。
  • 函数名是你给函数起的名字,应该具有描述性。
  • 参数是可选的,你可以在括号内指定函数需要接收的输入参数。如果没有参数,括号仍然是必须的,但可以留空。
  • 函数体是函数的具体实现,包含一系列的语句和逻辑。
  • return语句用于指定函数的返回值。可以选择省略return语句,这样函数将不会返回任何值。

以下是一个简单的示例:

def greet(name):
    print("Hello, " + name + "!")

greet("xiaoyu")  # 调用函数,输出 "Hello, xiaoyu!"

参数

默认参数

默认参数(Default arguments):函数定义时可以为参数指定默认值,这样在函数调用时如果没有传递对应参数的值,将使用默认值。

def power(x, n=2):
    return x ** n

result1 = power(2)  # 调用函数,n使用默认值2
result2 = power(2, 3)  # 调用函数,指定n为3
print(result1)  # 输出 4
print(result2)  # 输出 8

可变参数

可变参数(Variable arguments):。与Java的...使用类似,有时候我们无法确定调用函数时会传递多少个参数,这时可以使用可变参数来接收不定数量的参数。在函数定义时,在参数前面加上一个星号*,这样传递的参数将被打包成一个元组

def add(*numbers):
    result = 0
    for num in numbers:
        result += num
    return result

sum1 = add(1, 2, 3)  # 调用函数,传递3个参数
sum2 = add(1, 2, 3, 4, 5)  # 调用函数,传递5个参数
print(sum1)  # 输出 6
print(sum2)  # 输出 15

关键字参数

关键字参数(Keyword arguments):当函数调用时,可以使用关键字参数来指定参数的名称和对应的值,这样参数的顺序可以任意。在函数定义时,在参数前面加上两个星号**,这样传递的参数将被打包成一个字典。

def person_info(**info):
    for key, value in info.items():
        print(key + ": " + value)

person_info(name="Alice", age="25", city="New York")  # 调用函数,传递关键字参数

以上我们之讲解了在Java中不常见的,常规用法就不讲解了,浪费时间。

返回值

有时候,Python中我们还可以在函数中返回多个值。实际上,Python中的多个返回值是以元组的形式返回的。我们可以通过解包操作将返回的元组拆分为多个变量。而Java中需要将这些值封装成对象

下面是一个示例,演示了函数如何返回多个值:

def calculate(a, b):
    sum = a + b
    difference = a - b
    return sum, difference

result1, result2 = calculate(8, 3)
print(result1)  # 输出 11
print(result2)  # 输出 5

除了这一个我还没看到有啥别的大区别,Java同学注意一下!

内置函数

我举一些不好理解的例子吧,像min、max、sum这种数值操作我就不列举了,我们看下range、zip、all、any吧。这些你遇见了直接百度就可以明白的,无所谓记住什么的,写多了就记住了。

range函数

range(start, stop, step):range函数用于生成一个整数序列,可以用来遍历数字范围。它接受三个参数:起始值(可选,默认为0),结束值(必选),步长(可选,默认为1)。返回的对象是一个可迭代的序列。

for i in range(1, 10, 2):
    print(i)
# 输出:1 3 5 7 9

zip函数

zip(*iterables):zip函数用于将多个可迭代对象进行配对。它接受任意个可迭代对象作为参数,并返回一个元组的迭代器,其中每个元组由输入迭代器中对应位置的元素组成。当输入的可迭代对象长度不一致时,zip函数会以最短的长度为准,超出部分将被忽略。

names = ["Alice", "Bob", "xiaoyu"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(name, age)
# 输出:
# Alice 25
# Bob 30
# xiaoyu 35

all函数

all(iterable):all函数用于检查可迭代对象中的所有元素是否为真。如果可迭代对象中所有元素都为真,返回True;否则返回False。如果可迭代对象为空,则返回True。

numbers = [1, 2, 3, 4, 5]
print(all(numbers))  # 输出:True

numbers = [0, 1, 2, 3, 4, 5]
print(all(numbers))  # 输出:False

numbers = []
print(all(numbers))  # 输出:True

any函数

any(iterable):any函数用于检查可迭代对象中的任何一个元素是否为真。如果可迭代对象中任何一个元素为真,返回True;否则返回False。如果可迭代对象为空,则返回False。

numbers = [0, 0, 0, 1]
print(any(numbers))  # 输出:True

numbers = [0, 0, 0]
print(any(numbers))  # 输出:False

numbers = []
print(any(numbers))  # 输出:False

总结

介绍函数的基本概念和与Java方法的区别,在Python中,函数使用"def"关键字进行声明,不需要像Java方法一样讲究修饰符等其他特性。函数的参数可以有默认值,并且可以通过传递关键字参数的方式来指定参数顺序。Python函数还具有可变参数和关键字参数的特性,可以接收不定数量的参数,并且参数的顺序可以任意。与Java不同的是,Python函数可以返回多个值,而Java需要将多个值封装成对象。此外,Python还提供了一些内置函数,如range、zip、all、any等。

标签:指南,Java,函数,Python,参数,numbers,print,进修
From: https://blog.csdn.net/2201_76124692/article/details/139800294

相关文章

  • 程序猿大战Python——文件操作、异常、模块——常见处理异常方式
    快速入门异常==目标:==掌握异常的快速入门使用。当程序中遇到了异常时,通常程序会出现崩溃情况。为了不让程序崩溃,就可以使用异常来快速处理。异常处理语法:try: 可能发生异常的代码except: 如果出现异常时,执行的代码说明:try、except都是关键字,用于处理异......
  • 程序猿大战Python——文件操作、异常、模块——导入模块
    导入模块的方式==目标:==了解导入模块的方式有哪些?模块指的是:以.py结尾的Python文件。注意:模块名属于标识符。在模块中,能定义函数、变量和类等,也能包含其他一些可执行的代码,比如print(xxx)、importxx等。使用模块前,要先导入模块。导入模块有3种方式:import模块名1[,......
  • python-jupyter notebook安装教程
    ......
  • Python2入门 | 关键字
    掌握Python程序设计语言的基本语法、流程控制、数据类型、函数、模块、文件操作、异常处理2、基本语法程序的基本语法元素:程序的格式框架、缩进、注释、变量、命名、保留字、续航符、数据类型、赋值语句、引用。2.1程序的格式框架程序的格式框架,即段落结构,是Python语法的......
  • Rapidfuzz,一个高效的 Python 模糊匹配神器
    目录01初识Rapidfuzz            什么是Rapidfuzz?为什么选择Rapidfuzz?安装Rapidfuzz配置Rapidfuzz02基本操作简单比率计算03高级功能                 查找单个最佳匹配查找多个最佳匹配使用阈值优化......
  • 使用中专API地址调用OpenAI大模型的入门指南
    前言随着人工智能(AI)技术的飞速发展,大模型(LargeLanguageModels,LLM)在各类应用中得到了广泛的使用。本文将介绍如何使用中专API地址(http://api.wlai.vip)来调用OpenAI的大模型,并提供一个简单的示例代码来帮助你快速上手。使用中专API调用OpenAI大模型在中国,由于访问限制,......
  • Python安全字符串处理工具库之markupsafe使用详解
    概要在Web开发和模版渲染中,处理用户输入的数据时,防止HTML注入是至关重要的。markupsafe 是一个Python库,专门用于确保字符串在插入HTML时的安全性。它提供了一个安全的字符串类型,可以自动转义特殊字符,防止潜在的安全漏洞。本文将详细介绍 markupsafe 库,包括其安装......
  • python模块之codecs
    python模块codecspython对多国语言的处理是支持的很好的,它可以处理现在任意编码的字符,这里深入的研究一下python对多种不同语言的处理。有一点需要清楚的是,当python要做编码转换的时候,会借助于内部的编码,转换过程是这样的:原有编码->内部编码->目的编码python的内部......
  • 笔记-python与鸭子
    首先介绍下面向对象(OOP)的三大特征:(1)面向对象程序设计有三大特征:封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)。这三个单词很常见,大家还是记住为好!(2)封装(Encapsulation):类包含了数据和方法,将数据和方法放在一个类中就构成了封装。(3)继承(Inheritance):Java是单继承......
  • python代码生成器
    Python中可以使用多种方式实现代码生成器的功能,即基于模板生成代码或者文档。其中最常用的是Jinja2和Mako这两个模板引擎。下面我将展示如何使用Jinja2来实现一个简单的代码生成器。首先,确保你已经安装了Jinja2库。如果没有安装,可以通过pip安装:pipinstalljinja2然后,你......