python基础语法-函数的定义(简单实用)

python基础知识之函数的定义及用法 本文主要介绍python函数的定义和调用、函数的参数、函数的作用域、内置函数。对特定的一些功能进行封装,提高代码的重用率,进而提升开发的效率,格式:nginxdef 函数名()# 函数体必需参数  如:def add_num(a, b, c) ,a,b,c三个参数都必须要传默认参数(缺省参数) 如:def add_num(a, b, c=99) ,c是默认参数,可以传,可以不传(不传时直接使用c=99) 阅读详情
函数

在这里插入图片描述

定义:
封装了一段可被重复调用执行的代码块
凭此可以实现大量代码的重复使用
可以提高编写的效率以及代码的重用

声明:
def: 函数关键字,define的缩写
函数名称的命名应该符合标识符的命名规则
    1. 可以由字母,下划线, 数字组成
    2. 不能以数字开头
    3. 不能与关键字重名
    4. 一般为动词
函数参数
参数分类:
1. 形式参数和实际参数
    形参: 定义函数时括号里的参数
    实参: 调用函数时括号里的参数
2. 关键字参数
    以形参 = 实参的形式去指定,不受位置影响
3. 可变类型参数和不可变类型参数
    可变:函数体内部数据与外部数据内存地址不一样
    不可变:函数体内部数据与外部数据内存地址一样
4. 位置参数
    实参和形参按照位置一一对应的方式进行传递
5. 可变长度参数
    *args:接受实际参数传递参数的时候会转化为元组的形式
    **kwargs:接受实际参数传递参数的时候会转化为字典的形式
6. 默认值参数
    形参处赋值,实参传参就覆盖,不传就使用默认值
功能函数
# abs
# 返回给定参数的绝对值。如果参数是一个复数,那么就返回math.sqrt
print(abs(-1))
print(abs(10.))
print(abs(1.2-2.1j))
print(abs(0.23 - 0.78))
# 1
# 10.0
# 2.4186773244895647
# 0.55

# divmod
# 把除法和取余运算结合起来,返回一个包含商和余数的元组。
print(divmod(10,3))
print(divmod(3,10))
print(divmod(10,2.5))
print(divmod(2.5,10))
print(divmod(2+1,0.5-1))
# (3, 1)
# (0, 3)
# (4.0, 0.0)
# (0.0, 2.5)
# (-6.0, -0.0)

# pow()
print(pow(2,5))
print(pow(5,2))
print(pow(3.141592,2))
print(pow(1+1j,3))
# 32
# 25
# 9.869600294464002
# (-2+2j)

# round()
# 按照四舍五入的规则进行取整
匿名函数
概念:
匿名函数指的是无需定义标识符的函数,需要函数但是不想命名的时候使用

举例:
f = list(map(lambda x: x*x, [1, 2, 3, 4, 5]))
print(f)
lambda表示匿名函数,冒号前面的x表示函数参数,可以有多个参数

特点:
    1. 不用担心函数名冲突
    2. 可以直接赋值给变量,然后通过变量调用函数
    3. 对于单行函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁
    4. 对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序执行的性能

使用:
    1. 和map一起使用
        ## 求列表[1,2,3,4,5,6,7,8,9],返回一个n*n 的列表
        
        #一般解决方案
        li = [1,2,3,4,5,6,7,8,9]
        for ind,val in enumerate(li):
            li[ind] = val * val
        print(li)
        # [1, 4, 9, 16, 25, 36, 49, 64, 81]
        
        # 高级解决方案
        li = [1,2,3,4,5,6,7,8,9]
        print(list(map(lambda x:x*x,li)))
        # [1, 4, 9, 16, 25, 36, 49, 64, 81]   
         
    2. 和reduce一起使用
        #接受一个list并利用reduce()求积
        
        from functools import reduce
        li = [1,2,3,4,5,6,7,8,9]
        print(reduce(lambda x,y:x * y,li))
        # 结果=1*2*3*4*5*6*7*8*9 = 362880

        a = [12, 34, 56]
        print(reduce(lambda x , y: x + y, a))  # 102
        print(reduce(lambda x , y: x - y, a)) # -78
    
    3. 和filter一起使用
        # 在一个list中,删掉偶数,只保留奇数
        li = [1, 2, 4, 5, 6, 9, 10, 15]
        print(list(filter(lambda x:x % 2==1,li)))  
        # [1, 5, 9, 15]

        # 回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数
        li = list(range(1, 200))
        print(list(filter(lambda x:int(str(x))==int(str(x)[::-1]),li)))
        # [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191]

    4. 和sorted一起使用
        # 对列表按照绝对值进行排序
        li= [-21, -12, 5, 9, 36]
        print(sorted(li, key = lambda x:abs(x)))
        # [5, 9, -12, -21, 36]

        """
        sorted()函数按照keys进行排序,并按照对应关系返回list相应的元素:
        """

        # 把下面单词以首字母排序
        li = ['bad', 'about', 'Zoo', 'Credit']
        print(sorted(li, key = lambda x : x[0]))
        # 输出['Credit', 'Zoo', 'about', 'bad']
        """
        对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面。
        """

        # 假设我们用一组tuple表示学生名字和成绩:

        L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
        # 请用sorted()对上述列表分别按名字排序
        print(sorted(L, key = lambda x : x[0]))
        # 输出[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]

        # 再按成绩从高到低排序
        print(sorted(L, key = lambda x : x[1], reverse=True))
        # 输出[('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]

    5. 与三元运算结合
        #if 条件为真的时候返回if前面内容,否则返回0 
        exp1= lambda x:x+1 if  2==1 else 0 
        print(exp1(2)) # 0
        exp2 = lambda x:x+1 if  1==1 else 0 
        print(exp2(2)) # 3

        #if not 为假返回if not前面内容,否则返回0  
        exp3 = lambda x:x+1 if not 2==1 else 0  
        print(exp3(2)) # 3
  
        exp4 = lambda x:x+1 if not 1==1 else 0  
        print(exp4(2)) # 0
内联函数online的定义和作用 说明: 内联函数是一个小型函数,以牺牲空间来节省函数调用带来的额外开销,一般用以比较小函数或者使用频率很高的函数,函数内部内部没有复杂的语句,如开关语句switch,循环语句for等 定义: (1)在 C++ 中,可以在定义函数时,在返回值类型前面加上 inline 关键字 inline int max() { ...... return 0; } (二)直接在类的内部进行函数的声明和定义,则默认其是内联函数 class A { public: int max() { ...... ret 阅读详情

相关推荐

python语法基础汇总

python语法基础 文章目录python语法基础一、简介及运算符什么是计算机语言编译型语言和解释型语言Python的介绍Python开发环境搭建Python的交互界面Python和Sublime的整合几个概念基本语法字面量和变量变量和标识符数据类型类型检查对象(object)对象的结构变量和对象类型转换运算符(操作符)算术运算符赋值运算符关系运算符逻辑运算符条件运算符运算符的优先级二、条件判断及...

雷爷的博客 8204

python函数的定义及使用

python函数的定义及使用

m0_62064241的博客 1万+

Python基础语法02:函数

函数

若北辰 8万+

python连接mysql_Python连接及查询MYSQL数据库

一、链接1.导入pymysql模块import 2.连接数据库#0失误# 同级缩进保持一致。sql_con二、查询利用pd.read_sql()执行sql查询语句## 语法格式&参数含义 示例 Python条件语句​mp.weixin.qq.comPython条件语句​mp.weixin.qq.comPython 函数(一) 基本语法​mp.weixin.qq.comPython 函数...

weixin_39986896的博客 309

python基础语法001 -函数(上篇)

python函数详解!建议收藏!

苏凉.py的博客 2290

雷光联动自动化标校方法

动态标校需要利用动目标,在雷达和光电同时看到目标时记录光电的方位、俯仰,以及利用雷达给的目标信息计算的方位俯仰,手动记录两者的数值,多方位,多距离段记录,费时费力,且人工记录数据不全,计算容易出差错,耗费成本和精力太大。目标相距设备的水平距离 = acos(cos(设备纬度弧度值) * cos(目标纬度弧度值) * cos(设备经度弧度值 – 目标经度弧度值) + sin(设备纬度弧度值) * sin(目标纬度弧度值)) * 6378137;本发明涉及光电技术领域,安防领域,尤其涉及雷达光电动态标校等。

u013358093的博客 1580

python基础语法 - 函数

python函数相关笔记

Cherish1ove的博客 1911

攻防世界 misc题GFSJ1129-【您看我还有机会吗?】

我们发现了隐藏内容,一开始我以为那个英文就是flag,提交后发现不对,然后我想只有一张图片然后图片上的隐写内容又不是flag,那必定还有什么文件被隐藏了,于是我们打开VMware并启动Ubuntu,使用binwalk分析一下有没有隐藏文件,我们要在Terminal中分析,如下。我们发现里面有一个flag.txt文件,我们尝试提取里面内容,但发现又要密码,我们想起了之前图片上的隐藏内容,我们将那段英文输入(包括空格和符号,在VMware中输入密码不会有显示,你看到的就像没输入一样),然后我们看到如下。

大数据专业,关注 AI 安全与数学建模。记录 Web 安全、对抗攻击、隐私保护等安全实践,以及从经典模型到智能方法的建模思考。用数学思维理解 AI,用 AI 方法反哺安全与建模。 1095

Python基础之函数:匿名函数lambda

lambda(匿名函数)是Python中一种**轻量级、单行、无名称**的函数,核心作用是快速定义“简单逻辑的临时函数”,语法极简,适合用在无需复用的场景。

GengPengShuaiGPS的博客 207

物理小白也能懂的PINN指南:用Python给神经网络注入‘物理常识‘

本文为物理小白提供了一份通俗易懂的PINN入门指南。通过生活化类比和Python实战,详细讲解了如何将物理定律作为约束注入神经网络,使其具备“物理常识”,从而在数据稀缺时也能做出符合规律的预测。文章以热传导方程为例,手把手教你从零构建物理信息神经网络。

open4的博客 349

大地坐标系与经纬度转换(一):大地坐标系简介

一、大地坐标系 大地坐标系是大地测量中以参考椭球面为基准面建立起来的坐标系。地面点的位置用大地经度、大地纬度和大地高度表示。 二、地心坐标系 ...

qq_42895926的博客 6万+

Python基础语法

首先我们要安装 Python ,在网页上搜索 Python 即可找到。找到download 下载按钮,里面有许多的Python版本。我们挑选较为稳定的Python版本进行下载。这里推荐下载 3.10.5 版本的。之后,我们还需要安装一个Python解释器 pycharm ,从官网中下载即可下载完成后,进行安装,随后打开pycharm进行Python解释器配置之后,就可以开始进行Python代码书写了。

2401_86449430的博客 1万+

Xilinx Vitis 2020.1头文件路径配置避坑指南:解决#include找不到文件的常见问题

本文针对Xilinx Vitis 2020.1开发环境中常见的#include头文件找不到问题,提供了系统的避坑指南。文章深入解析了Vitis的头文件搜索机制,对比了通过工程属性GUI、修改编译命令及使用环境变量三种配置方法的优劣与隐藏陷阱,并给出了高级场景的排查流程与工程结构最佳实践,帮助开发者高效解决路径配置难题。

weixin_28831399的博客 571

python基础语法大全

在学习机器学习和机器视觉初学过程中我们难免会忘记一些python的基础语法,此博客的目的是帮助大家回忆起一些python的基础简单语法结构,方便大家查阅。 输出: 1 yi i'm i'm ab math 举一个平方的例子 8 输出:0 1 2 1 2 3 4 function 函数定义格式 输出:7函数默认参数的定义 输出:5默认参数右边不......

yihouwen的博客 1万+

Qt5+OSG实战:如何用osgQOpenGLWidget在窗口中加载3D模型(附完整代码)

本文详细解析了如何在Qt5中使用osgQOpenGLWidget加载和渲染3D模型,涵盖环境配置、核心架构、性能优化及高级技巧。通过实战案例和完整代码,帮助开发者实现工业级3D模型渲染,提升Qt与OSG的整合效率。

weixin_42741930的博客 263

华为OD机试:查找接口成功率最优时间段 (C/C++/Py/Java/JS/GO)

华为OD机试双机位C卷 查找接口成功率最优时间段,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。

qq_45776114的博客 4687

Python基础语法速成:变量、循环、条件判断、函数定义

Python以其简洁易读的语法闻名,被称为"可执行的伪代码"。很多人说Python入门简单,但其实最核心的基础语法也就那么几个概念。今天我来带大家速成Python的基础语法,包括变量、数据类型、条件判断、循环、函数等核心内容,每个知识点都配有代码示例和实际应用场景,让你一看就懂,一学就会!

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 2万+

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

基于Verilog的8位CPU设计及UART扩展实现方案,包含完整的架构设计、核心代码实现和仿真验证方法

a_zxswer的博客 190

python基础语法与基础爬虫整理——python基础语法Ⅰ

python基础语法与基础爬虫整理 刚刚学了点基础语法和爬虫入门,打算整理一下,比较简单,我也会通俗易懂的语言来说明(主要是我讲不出什么高大上的话!!本身语文也很差(ಥ﹏ಥ)) 基础语法,总共有13块知识点。最主要是为后边的基础爬虫作个准备工作,每一个知识点中间可能会掺杂点其他的语法,希望对你有帮助(#.#) 基础爬虫当然就是最基础的爬虫。大概就是些BeautifulSoup、json、selen...

早睡早起 3194

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

《Python 语法基础之函数的定义与使用》

Python 语法基础之函数的定义与使用

一名资深Java工程师的技术分享 1218

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python 基础语法汇总

【代码】Python 基础语法汇总。

oscar999的专栏 6570

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python基础语法

python基础语法

qq_48691693的博客 3920

Python函数:从定义到调用的实用指南

Python函数详解:封装复用的代码工具 本文系统讲解了Python函数的使用方法。函数通过def关键字定义,包含函数名、参数和功能代码,实现代码复用。调用函数时需匹配参数数量和类型,支持位置参数和关键字参数两种传递方式。文章详细介绍了默认参数和不定长参数(*args/**kwargs)的设置,解释了局部变量与全局变量的作用域区别,并演示了函数嵌套和递归的应用。最后总结了定义、调用和灵活参数设置这三大核心要点,建议通过实践练习掌握函数这一高效编程工具。

2501_94271778的博客 1646

Python 语法入门指南:语法与实用技巧

Python 已经成为当今最受欢迎的编程语言之一,无论是数据分析、人工智能、网页开发还是自动化脚本,它都扮演着重要角色。本篇指南将带你逐步了解Python的基本语法,从变量,到控制结构,再到函数和类,内容丰富,通俗易懂,帮助你轻松入门。它的设计目标是简洁明了、易于学习,拥有丰富的标准库和庞大的社区资源,使得开发者可以用最少的代码实现最大的功能。Python自带丰富的标准库(如math、datetime、os、sys、json等),善用它们可以大大提高开发效率。函数可以带参数,也可以没有参数。

爱编程的鱼的博客 1102

Python入门手册:Python基础语法

Python基础语法入门指南:本文系统介绍了Python编程语言的核心语法,涵盖变量定义(无需显式声明类型)、基本数据类型(int/float/str/bool)及类型推断机制。详细讲解运算符体系,包括算术、比较、逻辑运算符,特别补充了位运算符的应用。控制流语句部分演示了if条件判断、for/while循环的使用方法。还包含函数定义与调用、模块导入等组织代码的关键技巧。通过具体代码示例(如变量赋值、数学运算、函数封装等),帮助初学者快速掌握Python编程基础,为后续学习打下坚实基础。文中所有示例均可直接运

佩奇的技术笔记 2215

Python基础语法学习总结

随着人工智能的崛起和快速发展,Python成为众多编程自学者的首选语言。本文整理了定义变量、字符串、运算符、if语句、循环语句、列表、字典、元组、函数、文件操作等等Python基础语法知识点,希望下面的学习总结可以帮助大家快速掌握Python编程,现在我们一起来梳理一遍吧!

Python栈 2243
上一篇: python数据类型-集合(简单实用)
下一篇: python第三方库-pyperclip的使用(简单实用)
ohbaby别叫我程序猿
博客等级 码龄7年 1970粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值