Python语法(二、内置函数)

news2024/11/19 16:33:28

数学计算库

Python ​math ​模块提供了许多对浮点数的数学运算函数。
Python ​cmath ​模块包含了一些用于复数运算的函数。

import math

在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

 内置函数

在这里插入图片描述

关键字 

在这里插入图片描述

 自定义函数

Python函数的定义。定义函数需要用def 关键字实现,具体的语法格式如下:

def 函数名(参数列表):
    //实现特定功能的多行代码
    [return [返回值]]

def func(a,b):
    return a+b

func(1,2)
# 3

Python 支持在函数内部定义函数,此类函数又称为局部函数

局部变量一样,默认情况下局部函数只能在其所在函数的作用域内使用。

#全局函数
def outdef ():
    #局部函数
    def indef():
        print("http://c.biancheng.net/python/")
    #调用局部函数
    indef()
#调用全局函数
outdef()

lambda 表达式

对于定义一个简单的函数,Python 还提供了另外一种方法,lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。

#lambda
a=lambda x,y,z:(x+y+3)*z
print(a)                                        <function print_hi.<locals>.<lambda> at 0x00000162631CB760>
print(a(1,2,3))                                18
list3=[3,5,-4,0,-1,6,-5]
list4=sorted(list3,key=lambda x:abs(x))  匿名函数进行排序
print(list4)                                        [0, -1, 3, -4, 5, -5, 6]

eval() 和 exec() 函数

eval() 和 exec() 函数的功能是相似的,都可以执行一个字符串形式的 Python 代码(代码以字符串的形式提供),相当于一个 Python 的解释器。二者不同之处在于,eval() 执行完要返回结果,而 exec() 执行完不返回结果。

a=1

exec("a=2")  等价于执行 a=2

print(a)               2

a=exec("2+3)   等价于执行2+3,但是没有返回值

print(a)                None

a=eval('2+3')      执行2+3,并将结果返回a

print(a)                5

eval额外知识点:

语法
以下是 eval() 方法的语法:

eval(expression, globals=None, locals=None)

参数
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print (locals())来查看该函数体内的所有变量名和变量值。

返回值
返回表达式计算结果

#gloas()用法
a=1
b=1
print(eval("a+b")) #输出2
def func():
    a=2
    b=2
    #不加gloas()会在局部查找a和b的范围
    print(eval("a+b")) #输出4
    #加了gloas()会在全局搜索a和b的范围
    print(eval("a+b",globals())) #输出2
    #局部查找
    print(eval("a+b",globals(),locals())) #4
 
func()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/813175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

求二维离散点集的凸包点

1 算法思路 这类求解最外围的点集问题,我们称之为凸包问题,光光是⽤⾁眼去观察的话,这种问题我们很快就能得出答案,并且能马上说出哪⼏个点 是解,但是如果让你敲代码,去解决这类的问题,可能很多⼈会不知道如何去下⼿。 在讲解凸包这类问题的解法前,我们⾸先要先讲下向…

#P1000. [NOIP2008普及组] 立体图

题目描述 小渊是个聪明的孩子&#xff0c;他经常会给周围的小朋友们讲些自己认为有趣的内容。最近&#xff0c;他准备给小朋友们讲解立体图&#xff0c;请你帮他画出立体图。 小渊有一块面积为 m \times nmn 的矩形区域&#xff0c;上面有 m \times nmn 个边长为 11 的格子&a…

Linux环境安装MySQL(详细教程)

1、下载MySQL MySQL官网&#xff1a;MySQLhttps://www.mysql.com/ 下载社区版&#xff08;免费&#xff0c;但不提供技术支持&#xff09; 简单说明一下rpm和tar包的区别&#xff1a; tar 只是一种压缩文件格式&#xff0c;所以&#xff0c;它只是把文件压缩打包 rpm&#xf…

HTML+CSS前端 简易用户登录界面

Day1 刚学了一些html和css的简单语法&#xff0c;尝试写一个非常简易的静态用户登录界面。 login_simple.html <!DOCTYPE html> <html lang"en"><head><meta name"viewport" content"widthdevice-width,initial-scale1.0"…

C++复刻:[流光按钮]+[悬浮波纹按钮]

目录 参考效果实现main.cppdialog.hdialog.cppflowingRayButton.h 流动光线按钮flowingRayButton.cpp 流动光线按钮hoveringRippleButton.h 悬浮波纹按钮hoveringRippleButton.cpp 悬浮波纹按钮模糊知识点 源码 参考 GitHub地址 B站主页 效果 实现 main.cpp #include "…

windows下配置vue开发环境

安装nodejs&#xff0c;配置npm 1.下载安装包&#xff1a;下载地址&#xff1a;https://nodejs.org/en/download 2.安装node&#xff1a;下载完成后进行安装&#xff0c;记住安装的文件夹。本人安装路径为 D:\Program Files\nodejs 3.配置环境变量&#xff1a; ①安装完成后…

高斯滤波和高通滤波

图像在频域里面&#xff0c;频率低的地方说明它是比较平滑的&#xff0c;因为平滑的地方灰度值变化比较小&#xff0c;而频率高的地方通常是边缘或者噪声&#xff0c;因为这些地方往往是灰度值突变的 所谓高通滤波就是保留频率比较高的部分&#xff0c;即突出边缘&#xff1b;…

Node.js介绍;浏览器和Node.j架构区别;Node的安装与管理;JS代码执行方式;Node的输入与输出;全局对象;

目录 1_Node.js介绍1.1_概念1.2_浏览器和Node.j架构区别1.3_Node.js应用场景 2_Node的安装与管理2.1_安装2.2_Node的版本工具2.3_版本管理工具&#xff1a;n 3_JavaScript代码执行4_Node的输入与输出4.1_REPL4.2_Node程序传递参数4.3_Node的输出 5_全局对象5.1_常见的全局对象5…

ClickHouse(六):Clickhouse数据类型-1

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术&#xff0c;IT贫道_Apache Doris,Kerberos安全认证,大数据OLAP体系技术栈-CSDN博客 &…

一个类似Office用户界面的WPF库

博主介绍&#xff1a; &#x1f308;一个10年开发经验.Net老程序员&#xff0c;微软MVP、博客专家、CSDN/阿里云 .Net领域优质创作者&#xff0c;专注于.Net领域知识、开源项目分享&#xff01;&#x1f308; &#x1f6d5;文末获取&#xff0c;加入交流群&#x1f6d5; &#…

bitset优化例题

1. bitset 优化背包 https://loj.ac/p/515 题意&#xff1a; 给 n 个 < n 的数&#xff0c;每个数有取值范围 a[ i ] - b[ i ]&#xff0c;令 x 为 n 个数的平方和&#xff0c;求能构成的 x 的个数 样例&#xff1a; 5 1 2 2 3 3 4 4 5 5 6 26 思路&#xff1a; 背包d…

VUE之VueRouter页面跳转

参考资料&#xff1a; 参考视频 参考demo及视频资料 VUE之基本部署及VScode常用插件 VUE之基本组成和使用 VUE之Bootstrap和Element-UI的使用 VUE之axios使用&#xff0c;跨域问题&#xff0c;拦截器添加Token Vue Router官网 Vue Router说明&#xff1a; 说明&#xf…

SpringBoot接手JSP项目--【JSB项目实战】

SpringBoot系列文章目录 SpringBoot知识范围-学习步骤【JSB系列之000】 文章目录 SpringBoot系列文章目录[TOC](文章目录) SpringBoot技术很多很多工作之初&#xff0c;面临JSP的老项目我要怎么办环境及工具&#xff1a;项目里可能要用到的技术JSPjstl其它的必要知识 上代码WE…

数据结构:第六章 图

文章目录 一、图的基本概念1.1定义1.2有向图、无向图1.3顶点的度、入度、出度1.4顶点-顶点关系的描述1.5子图和生成子图1.6连通分量1.6强连通分量1.7生成树1.8生成森林1.9边的权、带权图/网1.10几种特殊的图1.11小结 二、图的存储及基本操作2.1邻接矩阵法2.1.1邻接矩阵存储不带…

29_互联网(The Internet)(IP数据包;UDP;TCP;DNS;OSI)

上篇介绍了计算机网络的基础知识&#xff0c;也提到互联网&#xff08;The Internet&#xff09;&#xff0c;本篇将会详细介绍互联网&#xff08;The Internet&#xff09;。 文章目录 1. 互联网&#xff08;The Internet&#xff09;组成及数据包传输过程2. IP 数据包的不足3…

【Spring Boot 源码学习】走近 AutoConfigurationImportSelector

AutoConfigurationImportSelector 源码解析 引言主要内容1. ImportSelector 接口2. DeferredImportSelector 接口3. AutoConfigurationImportSelector 功能概述 总结 引言 上篇博文我们了解了 EnableAutoConfiguration 注解&#xff0c;其中真正实现自动配置功能的核心实现者 …

手把手一起实现Visual Studio 2022本地工程提交(和克隆)Gitee

1、VS2022本地工程提交Gitee 登录Gitee&#xff0c;创建空仓库&#xff0c;如图&#xff1a; 新建仓库&#xff1a; 打开Visual Studio 2022创建的工程&#xff0c;点击创建Git存储库&#xff1a; 复制Gitee仓库URL&#xff1a; 将URL填入&#xff0c;点击创建并推送&#xff…

计算机基本硬件的内部结构

1.早期冯诺依曼机结构 世界上第一台计算机ENIAC是使用手动接线来控制计算&#xff0c;十分麻烦。 冯诺依曼提出“存储程序”的概念&#xff0c;是指将指令以二进制代码的形式事先输入计算机的主存储器&#xff08;内存&#xff09;&#xff0c;然后按照其在存储器中的首地址执…

【递归、搜索与回溯算法练习】day1

文章目录 一、面试题 08.06. 汉诺塔问题1.题目简介2.解题思路3.代码4.运行结果 二、21. 合并两个有序链表1.题目简介2.解题思路3.代码4.运行结果 三、206. 反转链表1.题目简介2.解题思路3.代码4.运行结果 总结 一、面试题 08.06. 汉诺塔问题 1.题目简介 面试题 08.06. 汉诺塔…

玩转LaTeX(二)【特殊字符、插图设置、表格、浮动体】

特殊字符&#xff1a; 导言区&#xff1a;&#xff08;添加几个宏包&#xff09; \usepackage{xltxtra} %\XeLaTeX(提供了针对XeTeX的改进并且加入了XeTeX的LOGO)\usepackage{texnames} %LOGO\usepackage{mflogo}\usepackage{ctex} 正文区&#xff1a; \begin{document}…