Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—Python国的一国多治(1)(二十二))

简介: 玩转Python语法(一):面向过程

5.Python国的一国多治

什么是函数?函数其实就是执行特定任务和完成特定功能的一段代码,我们在 Python 中可以自己书写函数,如我们可以用 def,lambda 来告诉编译器这是我们自己写的函数,也可以使用系统中已经写好的函数:内置函数,这些函数你可以理解为因为在使用 Python 开发的过程中,一直在频繁的进行使用,故开发者为了方便,把这些代码打包成一个又一个函数,可供大家一直调用。在本章节学习中,*5.1 Python中常用的内置函数 会给大家介绍一部分的内置函数,这些函数我们会经常的使用,必须学会它们的使用规则,本章节标题为 Python 国的一国多制,那是因为我们可以把每一个函数都当成一种政体,它们一起相互作用组成了 Python 这个伟大的国度,并且函数与函数之间相互独立(函数内可以调用其他函数)。接下来,就让我们进入面向过程最后一节的学习。


*5.1 Python中常用的内置函数

注:本小节带 *,不需要进行学习,可以简单进行了解

⛲️ 本小节可以说还是比较重要的,但为什么本小节打 * 了呢?这是因为我们没必要去记忆这些函数(期末考试除外),在我们需要的时候我们只需要来本小节去查找用法即可

函数 功能说明
len(obj) 返回对象 obj 中包含的元素个数
max(…) 返回一个序列元素的最大值
min(…) 返回一个序列元素的最小值
abs(x) 返回数字 x 的绝对值或复数 x 的模
sum(x, start=0) 求一个序列中所有元素的和
reversed(seq) 返回seq中所有元素逆序的结果
sorted(iterable, key=None, reverse=False) 返回排序后的列表,iterable为要排序的对象,key指定排序规则,reverse用来指定升降序
bin(x) 把整数x转为二进制串
oct(x) 把整数x转为八进制串
hex(x) 把整数x转为十六进制串
zip() 将对应位置上的元素压缩在一起
id(obj) 返回 obj 的内存地址
range(start, end, step) 返回一个左闭右开[start, end),步长为 step 的对象
type(obj) 返回 obj 的类型
map(func, *iterables) 返回若干个map对象,函数func参数来自iterables指定的迭代对象
# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/16 12:45
# 欢迎大家关注AIoT相关博客~
# len():返回元素的长度
a = [1, 2, 3, 4, 5]
print('a的长度是:', len(a))
# max():返回元素的最大值
print('a中的最大值是:', max(a))
# min():返回元素的最小值
print('a中的最小值是:', min(a))
# abs():返回绝对值
print('-3的绝对值是:', abs(-3))
# sum():返回序列中全部元素的和
print('[1, 2, 3, 4, 5]的和为:', sum(a))
# reversed():返回一个序列的逆序
b = reversed(a)
print('a逆序的结果为:', end = '')
for item in b:
    print(item, end = ' ')
print()
# sorted():返回排序后的列表
c = [3, 2, 5, 1, 4]
c = sorted(c)
print('c排序的结果为:', end = '')
for item in c:
    print(item, end = ' ')
# bin():把整数转为二进制
print('8的二进制为:', bin(8))
# oct():把整数转为八进制
print('10的八进制为:', oct(10))
# hex():把整数转为十六进制
print('30的十六进制为:', hex(30))
# zip():将对应位置的元素压缩在一起
a = [1, 2, 3, 4, 5]
b = ['h', 'e', 'l', 'l', 'o']
print(list(zip(a, b)))
# id():返回内存地址
d = 666
print('666的内存地址是:', id(666))
# range():产生一个[start, end),步长为step的对象
a = range(10)
print(a)
# type():返回对象的类型
print('数字7的类型为:',type(7))
# map():把原序列的元素经过func操作
print(list(map(str, range(5)))) # 把[0 ~ 5)转为字符串存入列表
# 在同一行输入两个数并赋值
a,b = map(int,input('输入两个数(数字之间用空格隔开):').split())
print(a, b)

image.png


5.2 函数的创建与调用

🚩为什么需要函数?

1️⃣ 复用代码:有一些代码我们可能会频繁的进行使用,故我们可以把这些代码打包成函数,我们在需要的时候调用函数即可.

2️⃣ 隐藏实现细节:拿榨汁机举例子,我们在使用榨汁机的时候,只需要掌握基本的开关即可,完全没必要去了解其内部是如何组装,电路板之间怎么链接的问题,函数也是一样的,我们可以把具体代码封装起来,只需要会调用即可

3️⃣提高可维护性,可读性,便于调试:我们以后写工程代码可能会特别长,一个成千上万行的代码我们去找 bug 是十分困难的,读懂这种代码也是十分的困难的,如果我们把代码转为一个又一个函数,只需要找到具体的函数进行更改即可,并且看起来会更加的直观。


函数的创建语法格式:

def 函数名(参数1, 参数2, ...):
  函数体
  return xxx

我们还是用榨汁机去理解这个语法格式,def 函数名 为定义这是一个机器,并给他命名;这里函数的命名满足标识符的命名原则,详见:*1.2.1 标识符和保留字,具体它什么机器我们还得去看它的执行功能是什么(即函数体),比如我们的榨汁机实现榨汁功能,那么它的函数体就是实现榨汁这个操作,我们榨汁当然还要有原料,比如榨胡萝卜汁,榨西瓜汁等,胡萝卜,西瓜就是我们传入给函数的参数;最后我们榨汁肯定是要给人喝的,return xxx 的含义就是把操作完的值返回给调用函数的地方,函数的调用的语法格式为:

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

下面我们举例子来让大家理解,比如我们实现一个 cal 函数,其函数的目的是接收两个参数,并把它们的值相加并返回相加后的值:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/17 23:02
# 欢迎大家关注AIoT相关博客~
def cal(a, b):
    c = a + b
    return c
a, b = map(int, input().split())
res = cal(a, b)# 调用函数 cal,并把函数的返回值赋值给c
print(res)

image.png

5.3 函数的参数传递

🚩形式参数与实际参数:我们把定义函数中的参数称为形式参数,把调用函数的位置的参数称为实际参数,如下述代码:

def cal(a, b):   # 这里的 a, b 
    c = a + b
    return c
res = cal(1, 2)  # 这里的 1, 2 称为实际参数
print(res)

函数的参数传递有两种方法:

1️⃣ 位置传参:按照位置进行传参,比如在这个代码中:

def cal(a, b):
    c = a + b
    return c
res = cal(1, 2)
print(res)

在这个代码中,1 会传给 a,2 会传给b,位置传参其实就是把实际参数中的位置和形式参数中的位置一一进行对应赋值

2️⃣ 关键字传参:按照关键字的命名进行传参,如下述代码:

def cal(a, b):
    c = a + b
    return c
res = cal(b = 1, a = 2)
print(res)

在这个代码中,我们在调用函数的时候已经规定了 b = 1, a = 2;故对于这样的调用,在给形式参数赋值时就不会执行位置传参,而会执行关键字传参,在形式参数中 b = 1, a = 2

5.4 函数的返回值

🚩我们知道,函数的返回值即 return 后面所跟的值,返回的位置为调用函数的位置,就比如简单的实现两数相加:

def cal(a, b):
    c = a + b
    return c
a, b = map(int, input().split())
res = cal(a, b)  # 调用函数 cal,并把函数的返回值赋值给c
print(res)

调用函数的位置为 cal(a, b),在 cal 函数中不难看出有 return 语句,意思为把 c 的值返回给调用函数的地方,你可以粗暴的理解为 cal(a, b) = c,即删掉 cal(a, b) 语句,换上一个 c,即 res = cal(a, b) 变成了 res = c.


如果你学过 C/C++,你知道,函数至多返回一个值,不可能返回两个值或者更多的值,我们的 Python 则不然,Python 可以同时返回多个函数值:

# 博主:辰chen
# 博客地址:https://chen-ac.blog.csdn.net/
# 开发时间:2021/12/19 8:38
# 欢迎大家关注AIoT相关博客~
def find(num):
    odd = []  # 用来存奇数
    even = [] # 用来存偶数
    for i in num:
        if i % 2 == 0:
            even.append(i)
        else:
            odd.append(i)
    return odd, even
print(find([2, 83, 71, 42, 26, 99]))

image.png

我们可以看出,Python 支持返回多个值,且当函数有多个返回值的时候,返回结果为元组





目录
相关文章
|
3月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
92 4
|
2月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
41 7
|
2月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
87 5
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
56 1
|
2月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
2月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
27 2
|
3月前
|
存储 程序员 开发者
Python编程入门:从零开始掌握基础语法
【10月更文挑战第21天】本文将带你走进Python的世界,通过浅显易懂的语言和实例,让你快速了解并掌握Python的基础语法。无论你是编程新手还是想学习一门新的编程语言,这篇文章都将是你的不二之选。我们将一起探索变量、数据类型、运算符、控制结构、函数等基本概念,并通过实际代码示例加深理解。准备好了吗?让我们开始吧!
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
24天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
107 80