一辆车帮你读懂python函数

从ECEF到Web墨卡托:一文读懂地理空间坐标系的转换与应用 本文深入解析了地理空间坐标系的核心概念与转换方法,重点介绍了ECEF、ENU、WGS-84、Web墨卡托和UTM等坐标系。通过对比地心坐标系与站心坐标系,以及平面投影坐标系的应用差异,帮助读者理解不同场景下的坐标选择与转换原理。文章还提供了基于Python的实战代码示例,指导开发者高效实现WGS-84到Web墨卡托等关键转换,适用于地图开发、导航定位及空间数据分析等领域。 阅读详情

函数的概念:
有一个超市,a要去买西,走一段距离,b去买东西走一段距离,c去买东西也走一段距离,于是就有了公交车,abc都可以搭这一趟公交车去超市买东西,这里的公交车就是函数。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数的作用:

后面超市所在的位置扩建,有了菜市场、公园,相应的公交车把站台调整一下即可达到目的地。这样就在节约了人力做重复工作的同时还可以因为扩建而自由的调整公交站线路,这就是在函数里体现的作用----方便扩展、节约代码、提高代码复用性

函数的定义:

def function(params):
block return expression/value

(1)在Python中采用def(define)关键字进行函数的定义,不用指定返回值的类型。
(2)函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。
(3)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。


调用函数语法:

函数名(参数表)


举例:
def printme():
    '''函数体只用来实现打印语句'''
    print("Hello")
    
printme()       #函数的调用 

输出:
Hello


函数中的相关概念:

形参、实参:

公交车里有老弱病残孕的专坐,有司机专用座,这些在形式上的一个安排,这些坐位就是函数中的形式参数,简称形参;具体坐什么人在函数中叫实际参数,并不是所有坐在这些坐位上的都是老弱病残,具体要看实际所坐的是什么人。

-----函数后面跟的是形参;实际传的是实参

举例:

def add(a,b):       #a、b是形参
    '''函数体用来实现两位数的加法'''
    return a+b

print(add(1,5))      #实参


值传递、引用传递:

搭车买票有两种方式,一种人工售票,上车前买好票,然后拿着票上车,不管上车后是剪票还是收费的形式,这个票跟对象(上车的人)所拥有的钱或是其它都没关系,这是值传递;另一种买票方式就是直接刷卡,根据车费的金额直接刷卡,这个刷卡会直接影响卡上的余额,这种就是引用传递;
------传递修改值不影响本身对象的值;引用传递修改就是修改本身的值


举例1:

def changenum(numa):
    '''值传递:传递的是另一个复制的对象,不会影响本对象的值'''
    numa = 20
numb = 10
changenum(numb);
print(numb)

输出
10

举例2:
def changenum1(list1):
    '''引用传递:传递的是指向对象的地址,修改会影响对象的值'''
    list1.append(0)

list2 = [1,2,6,8]
changenum1(list2)
print(list2)

输出
10
[1, 2, 6, 8, 0]

函数的参数类型:

必备类型

不管是公交车还是其它车,车上的每个零件都有自己的作用,假设一个坐位需要大小不一的4个螺丝来固定,如果只拧3个(必须按传指定参数的个数)或没有按指定大小(按顺序传参)拧螺丝,那么坐位必然就会有倒的风险。
-----这种参数通过位置、依次进行匹配的类型叫必备类型


举例:

def printMe(name,age):
    '''必备类型:参数个数与位置都严格匹配'''
    print("我叫"+name+",我今年"+str(age)+'岁')

printMe('newdream',19)

输出
我叫newdream,我今年19岁

关键字类型
领导出席活动都有陪同一起,出席时,要么就按顺序先站好再入场就坐(不按关键字,按顺序),要么就直接入场后按名字进行就坐(按关键字指定参数)
-----用参数的命名确定传入的参数值,Python解释器能够用参数名匹配参数值


举例:

def printMe(name,age):
    '''关键字类型,一般都指定关键字(不指定关键字也允许)'''
    print("我叫"+name+",age的值是"+str(age))

printMe('newdream',7)               #不指定关键字
printMe(name = 'newdream',age = 7)    #指定关键字

输出
我叫newdream,age的值是7
我叫newdream,age的值是7

3.不定长类型
大巴士的坐位是固定的,如果赶上春运那么以往的班次是远远不能满足客运量的,于是就允许在过道上添加一些板凳充当临时坐位,这样就可以一次性上更多的旅客(可以一次性传多个参数),而不用增加班车的次数(不用重新再定义函数)。
-----’*‘ 和’ ** ‘表示能够接受0到任意多个参数,’ * '表示将没有匹配的值都放在同一个元组中; ’ ** '表示将没有匹配的值都放在一个dictionary中。


举例1:

def busCustomer1(a,*args):
    '''不定长类型:允许一次性传一个或多个的参数类型
    *:将没有匹配的参数放到一个元组中
    '''
    print("第一个参数是",a)
    for i in args:
        print(i,end=' ')
busCustomer1(16)
busCustomer1(1,5,7,9,2,'a',True)

输出
第一个参数是 16
第一个参数是 1
5 7 9 2 a True 

举例2:
def busCustomer2(a,**args):
    '''不定长类型:允许一次性传一个或多个的参数类型
    **:将没有匹配的参数放到一个字典中'''
    print("第一个参数是",a)
    for i in args:
        print("%s %s"%(i,args[i]))
busCustomer2(1,a1='a',a2='c')

输出
第一个参数是 1
a1 a
a2 c

4.缺省类型
搭公交车,会买票,中途N个站,可以自由选择下车站点(可以选择传参),如果搭过头了或是忘记下车了,就终点站下(参数的默认值)
------缺省参数的值如果没有传入,则被认为是默认值。且需注意的是,默认值参数应该放在参数的最后一个


举例:

def defaultArgu(name,age = 19):
    '''缺省类型:当没有传参时取默认值,传参了则以参数的值为准
    '''
    print("我叫"+name+",今年"+str(age))

defaultArgu('newdream')
defaultArgu('newdream',25)

输出
我叫newdream,今年19
我叫newdream,今年25

匿名函数类型
如果说函数是公交车,那么匿名函数就是一辆自行车,在构造上(函数的定义)与功能上(只能是一个表达式)要单一的多
----使用 lambda 来创建匿名函数。

遗传算法求解N皇后问题的Python实战:从编码到100皇后落地 遗传算法是一种经典的启发式全局优化方法,适用于解空间巨大、不可导、强约束的组合优化问题。其核心在于通过选择、变异等算子驱动种群进化,而实际效果高度依赖编码方式与适应度函数设计。在N皇后这类离散约束满足问题中,排列编码可天然规避行列冲突,使搜索聚焦于对角线优化;倒数型适应度函数则有效放大优质解的选择压力。本文以Python实现为载体,详解如何将理论转化为稳定收敛、可调试、可复现的工程代码,并成功求解100皇后实例,覆盖编码设计、适应度量化、种群演化与可视化验证等关键环节。 阅读详情

相关推荐

遗传算法工程落地实战:适应度函数设计与编码策略详解

遗传算法(GA)作为经典的启发式优化方法,其核心价值在于解决复杂、非线性、多约束的工程优化问题。然而,理论上的‘选择-交叉-变异’流程在真实场景中常因适应度函数失当、编码方式错配或参数僵化而失效。本文从优化算法基础原理出发,深入剖析适应度函数如何承担裁判、教练与修复师三重角色,并系统对比实数编码、排列编码与混合编码在工业问题中的保真度与鲁棒性差异。技术价值体现在将抽象算法转化为可解释、可调试、可复用的工程模块;典型应用场景覆盖产线排程、路径规划、控制器参数整定及多目标协同决策。全文聚焦‘让GA真正跑通产线’

weixin_30301449的博客 364

一文读懂Asyncio

asyncio 是用来编写并发代码的库,使用async/await语法。asyncio 被用作多个提供高性能 Python 异步框架的基础,包括网络和网站服务,数据库连接库,分布式任务队列等等。asyncio 往往是构建 IO 密集型和高层级结构化网络代码的最佳选择。# work()函数就是一个协程peint(x)# 验证协程函数。

zhishunet 1275

遗传算法实战:N皇后问题的Python工程化实现与调优

遗传算法是一种基于自然选择与群体进化的全局优化方法,其核心在于编码设计、适应度函数构造与选择-交叉-变异机制的协同。在实际工程中,算法效果常受限于约束内化不足、适应度映射失当及种群多样性坍塌等问题。本文以经典N皇后问题为载体,深入剖析一维整数编码如何天然满足行约束、1/(q+0.001)映射如何保障轮盘赌选择有效性,并结合NumPy纯实现强调可调试性与可复现性。内容覆盖从染色体表示、收敛行为诊断到大规模(N=1000)性能优化的完整链路,适用于算法落地卡点频发的Python工程实践者。

a304096740的博客 348

Python汽车安全与驾驶行为分析

想象一下,如果汽车是一艘航行在数据海洋中的大船,那么Python就是那个掌舵者,它能够帮助我们更有效地解析这些数据,从而让我们的旅程更加安全。期待与你共同创造更多美好的回忆!你可以把这里当作自己的家,无论是工作之余的小憩,还是寻找灵感的驿站,我都希望你能在这里找到属于你的那份快乐和满足。创建一个完整的驾驶行为分析系统听起来似乎是一项艰巨的任务,但实际上,如果你掌握了正确的工具和技术,这完全可以变成一次有趣的冒险。

master_chenchen的博客 1248

8种常用连续型概率分布原理与Python实操指南

连续型概率分布是建模实测数据(如尺寸、时长、降水量)的基础工具,其核心在于用概率密度函数描述区间概率而非单点概率。理解分布的生成机制(如正态分布源于中心极限定理、指数分布刻画无记忆等待)、参数物理意义(μ表位置、σ表离散度、λ表发生率)及适用边界(取值范围、偏态特征),是科学选型的前提。在工程实践中,Uniform、Normal、Exponential、Chi-squared、Gamma、t、F、Log-Normal这八大分布覆盖了均匀采样、误差建模、故障预测、小样本推断、正偏数据拟合等高频场景。本文结合S

weixin_30700099的博客 331

Dobot Magician 机器臂:从基础构造到多场景应用全解析

本文全面解析了Dobot Magician桌面级智能协作机器臂,从其基础构造、核心规格、坐标系与运动模式,到编程控制、多功能应用及二次开发进行了深入介绍。这款机器臂凭借0.2mm高精度、0.5kg负载及13个扩展接口,在教育、创客及轻工业自动化等多场景中展现出强大潜力,是学习与实践机器人技术的理想平台。

numpy6sculptor的博客 737

Python OBD完整实战指南:零基础从0到1构建车辆数据采集系统

你刚在网上买了一个几十块钱的OBD-II蓝牙适配器,插进方向盘下方的诊断接口,手机App上立刻跳出转速、水温、油耗——数据很酷,但App终究是别人写好的。如果你想把这些传感器读数变成自己的Python程序、跑出自己的分析逻辑,甚至做成一个能展示的仪表盘,那这篇文章就是为你准备的。python-OBD 是一个专门读取车辆发动机实时数据的开源串口库,本文会用"问题驱动"的方式,带你从环境搭建一路做到故

gitblog_00022的博客 895

基于Python与HTML/CSS的停车场管理系统设计与实现

在数字化管理需求日益增长的今天,Web应用开发已成为解决传统行业痛点的关键手段。以停车场景为例,传统人工登记与计费效率低、易出错,而基于轻量级Web架构的管理系统能有效实现车辆入场、出场结算、余位统计等核心流程的自动化。本文以一套基于Python与HTML/CSS的停车场管理系统为例,剖析其从数据库设计、业务逻辑封装到前端交互的完整实现路径。系统采用Flask作为后端框架,结合SQLite存储数据,通过简洁的模板渲染实现低门槛部署,非常适合中小型停车场及初学者二次开发。通过剖析车牌录入、计费规则配置、状态流

weixin_30951515的博客 322

零基础通关 GoldenCheetah 运动数据分析:一条从装好到用透的四站成长路线

阿杰去年开始认真练骑车,训练器上踩得满头大汗,回家却只能对着文件夹里一堆 .fit 文件发呆——功率、心率、疲劳指数各自为政,谁也不告诉他明天该怎么练。直到他装上 GoldenCheetah 这款免费开源的自行车、跑步与铁三运动数据分析软件,把第一份训练文件拖进窗口,情况才真正开始改变。 GoldenCheetah 把 Garmin、Wahoo 等设备导出的零散数据,统一整理成看得懂的训练图表。

gitblog_07709的博客 912

遗传算法求解EVRP:充电站约束下的电动车辆路径规划与Python实现

电动车辆路径规划问题(EVRP)是传统车辆路径规划在新能源场景下的重要延伸,核心挑战在于续航限制与充电时间约束,使路径优化从单纯的最短路问题变为路径与补能策略的联合决策。遗传算法作为一种进化算法,不依赖目标函数的连续可微性,通过编码、选择、交叉和变异即可在复杂解空间中搜索可行方案,尤其适合求解带离散路径与连续充电量混合的NP-hard问题。在物流配送、城市运力调度等场景中,EVRP技术可显著降低运营成本并提升时效。围绕遗传算法在充电站布局与路径联合优化中的工程实践,文章完整介绍了问题建模、算法设计、关键代码

weixin_32612263的博客 311

ArduPilot + Gazebo + Mavros + QGC + 遥控器:从仿真到实机的自主轨迹控制实践

本文详细介绍了基于ArduPilot、Gazebo、Mavros和QGC的无人机自主轨迹控制全流程实践。从仿真环境搭建、多终端协同配置,到遥控器集成与自主圆形轨迹算法实现,提供了完整的代码示例和实机迁移要点,帮助开发者快速掌握无人机自主控制技术。

corn8的博客 940

没Python基础怎么做情感分析?在线工具免编程,3步出结果

本文介绍了如何在星图GPU平台上自动化部署“中文情感分析”镜像,实现免编程、可视化的情感分析。用户只需上传文本数据,即可快速完成情绪倾向判断,适用于市场调研、用户反馈分析等场景,助力非技术背景人员高效开展AI应用开发与模型微调。

GarnetFalcon73的博客 457

MTK平台TP驱动设备树与GPIO配置实战解析

本文详细解析了MTK平台TP驱动开发中的设备树与GPIO配置实战。通过DCT工具配置GPIO引脚,结合设备树节点定义触摸参数,并分享驱动移植、编译调试技巧及常见问题解决方案,帮助开发者快速掌握MTK触摸驱动开发核心。

ice55的博客 233

Moondream2与Python集成教程:快速搭建视觉问答系统

本文介绍了如何在星图GPU平台上自动化部署🌙 Local Moondream2镜像,快速搭建视觉问答系统。该平台简化了部署流程,用户可轻松实现图片内容分析与自然语言交互,适用于智能图像描述、视觉辅助问答等应用场景,提升多模态AI开发效率。

weixin_42181686的博客 269

深入解析ROS 2 Control:从硬件抽象到实时控制的机器人框架实践

本文深入解析了ROS 2 Control机器人控制框架,阐述了其如何通过硬件抽象、控制器管理和实时性保障,解决机器人开发中硬件与软件紧耦合的痛点。文章详细剖析了其三层核心架构与数据流,并通过C++/Python代码示例演示了硬件接口的实现,最后提供了URDF配置、启动文件编写指南以及动态控制器管理、实时优化等高级应用与实战避坑技巧。

mqtt6iot的博客 620

高性能网站设计之缓存更新的套路

看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。 我不知道为什么这么多人用的都是这

代码技巧 1万+

实战Wireshark抓取即时通讯数据与Python爬虫基础应用

本文通过实战演练,详细介绍了如何使用Wireshark抓取和分析局域网内即时通讯数据包,揭示未加密通信的潜在风险。同时,结合Python爬虫基础应用,讲解了如何自动化提取网页公开信息,涵盖请求、解析与存储的核心步骤,并强调了网络抓包与数据采集应遵循的安全与伦理规范。

seed的博客 170

HyperLynx(十三)Hyperlynx前放置之对网络的EMC分析

在“Spectrum Analyzer”对话框的“Stimulus”(激励)栏中,设置激励源频率为100MHz,选择“IC modeling”为“Fast-Strong”,并按图所示设置其他选项。显然,在仿真的基频上,它的幅值最大,将鼠标光标置于柱状图上,可以读取其值为64.28mA,这个数值是由选定的驱动芯片决定的。按上图所示的原理图,在接收端增加一个并联的RC负载,再次运行仿真,结果如图所示。在对话框左侧的“Pins”列表中,显示出了已添加电流探针的引脚,可以在此列表中选择所要仿真的目标。...

小幽余生不加糖 4677

CLIP-GmP-ViT-L-14入门必看:无需Python基础,5分钟启动图文语义相似度测试

本文介绍了如何在星图GPU平台上自动化部署CLIP-GmP-ViT-L-14图文匹配测试工具,快速启动图文语义相似度测试。用户无需Python基础,即可通过该工具评估图片与文字描述的匹配度,典型应用场景包括为电商产品图自动生成或验证标签,从而提升内容管理效率。

weixin_42327217的博客 803

电机驱动和电源等大电流设计中的并联 MOSFET设计

在电机驱动等应用中,半桥拓扑(通常为 3 相)用于生成在电机中产生正扭矩或负扭矩的交流电源信号。想要更高的输出电流能力,只有通过并联形成每个功能开关的 MOSFET,才能实现高输出电流。当多个功率 MOSFET 并联以增加系统整体电流能力容量时,通常假设电流在并联器件之间均等分配或均等共享。然而,在并联 MOSFET 时,需要考虑并联器件之间的电流分配。PCB 布局的若干特性和特定的MOSFET 参数会影响这种分配,并在参数不匹配或布局不对称时导致均流不平衡。

小幽余生不加糖 2485

工程师必读一次性讲明白系列(十三)眼图、阻抗匹配、信号一致性、射频匹配、电磁感应

概念主要作用影响因素解决方法眼图评估信号质量,显示失真和噪声噪声、信号失真、时序抖动改善信号源、使用低噪声组件阻抗匹配避免信号反射,提高传输效率阻抗不匹配、传输线路特性使用匹配电路、适配器信号一致性保证信号稳定准确传输传输线路、噪声干扰使用屏蔽、滤波器,选择合适线路射频匹配确保射频信号高效传输天线设计、阻抗不匹配使用射频匹配器、调整天线设计电磁感应防止电磁干扰对信号的影响设备之间的电磁干扰(EMI)屏蔽、接地、滤波器。

weixin_43199439的博客 156

一文讲明白初学者怎么入门大语言模型(LLM)?

关于如何入门LLM,大多数回答都提到了调用API、训练微调和应用。但是大模型更新迭代太快,这个月发布的大模型打榜成功,仅仅过了一个月就被其他模型超越。训练微调也已经不是难事,有大量开源的微调框架(llamafactory、firefly等),你只要懂部署,配置几个参数就能启动训练。甚至现在有大量云上项目,你根本不需要部署,直接上传数据,就能启动。这我让想起来之前的算法工程师都被调侃成调参师,新出一个大模型,下载下来跑一遍,运行一遍,对于自己理解和入门大模型没有任何意义。

lvaolan168的博客 882

FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇四

FPGA 学习笔记:Vivado 2020.2 MicroBlaze MIG 测试 DDR3 篇四

坚韧与专注 2159

LightGBM 快速上手完全指南:20 分钟跑通梯度提升树模型,附 5 个调参要点

LightGBM 是一个基于决策树的梯度提升(GBDT)框架,用来在结构化表格数据上训练分类、回归和排序模型。它的设计目标是快、省内存、能处理大规模数据,并支持并行、分布式和 GPU 训练。如果你的数据是宽表(CSV/TSV/pandas DataFrame)、任务是预测或排序,这个框架值得直接上手。 ## 先跑起来:20 行代码完成一次完整训练 结论先行:不用啃文档,先把官方回归示例跑通,建

gitblog_01196的博客 389

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

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

从经典赛题到Lingo实战:整数规划建模与两辆平板车装货问题详解

整数规划是运筹学与优化领域的核心方法,用于解决决策变量必须为整数的资源分配问题。其基本原理是通过构建包含决策变量、目标函数和约束条件的数学模型,将现实问题转化为计算机可求解的形式。该技术在物流调度、生产排程和资源优化中具有重要价值,能够有效提升装载效率、降低成本并实现精细化管理。本文以经典的“两辆平板车装货”问题为切入点,详细演示了如何使用Lingo软件建立并求解整数规划模型,涵盖了从问题抽象、模型构建、代码实现到结果分析的全过程,为处理类似优化问题提供了清晰的工程实践框架。

weixin_30596165的博客 349

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: Java实现网络爬虫 案例代码3:使用webmagic框架获取天气预报
下一篇: 更全面的记录缺陷,你需要了解这些
Meryoufdd
博客等级 码龄5年 13粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值