当前位置: 首页 > news >正文

python学习记录18

1 函数的定义

python中的函数指使用某个定义好的名字指代一段完整的代码,在使用名字时可以直接调用整个代码,这个名字叫做函数名。利用函数可以达到编写一次即可多次调用的操作,从而减少代码量。

函数分为内置函数与自定义函数。内置函数例如print()、input()、eval()等是编译器自带的,无需定义即可直接调用。

自定义函数的结构为:

def 函数名称(参数列表)#函数里的参数为形参

函数体#执行函数功能的代码

【return 函数返回值】#非必要,可省略

函数的调用方法为:

函数名(参数列表)#参数列表与定义函数的参数在数量与类型上要一致,调用的函数参数为实参

#编写阶乘函数
def fac(n):y=1while n>0:y *=nn -=1return y
x = int(input())
print(fac(x))
#编写判断大小函数
def cor(u,v):if u>v:return Trueelif u<v:return Falseelse:return 0
x = int(input())
y = int(input())
res = cor(x,y)
if res:print('x>y')
elif not res:print('x<y')
else:print('x=y')

函数的定义与调用的步骤为:

1)使用关键字def

2)确定函数名、参数名称、参数个数

3)编写函数体,即用于实现某功能的代码

4)使用函数名调用函数,调用函数的参数列表对变量进行一个实际的赋值

5)执行函数,使用实际参数参与函数功能的实现

6)函数返回结果(可使用关键字return返回一个具体值)

2 函数的参数传递

函数的传递参数方式有位置参数、关键字参数、默认值参数、可变参数四种。

(1)位置参数

位置参数是指调用的参数个数与顺序必须与定义的一致

def nameage (name,age):print(str(name),age)
n = '小红'
a = 18
nameage(n,a)

(2)关键字参数

在调用函数传参过程中使用形参名称+值的方式。使用关键字传参顺序可以不同。关键字参数与位置参数可以混合使用,但有一个位置参数在前,关键字参数在后的规则

def nameage (name,age):print(str(name),age)
nameage(age=18,name='小红')

(3)默认值参数

在函数定义时直接对形参进行赋值,调用时若函数不传值则使用默认值,若传了值则使用传递的值

def nameage (name='小红',age=18):print(str(name),age)
nameage()

(4)可变参数

可变参数分为个数可变的位置参数(*para)与个数可变的关键字参数(**para)。para是形参名称,可变位置参数在函数调用时可以接受任意个参数放入一个元组中,可变关键字参数接受任意个参数=值的形式,并且放入一个字典中。

可变位置传参在调用时加*是对序列的解包操作,同样的可变关键字传参加**也可以对序列进行解包

def sum(*para):i = 0for item in para:i += itemreturn i
print(sum(10,11,12,13,14))
print(sum(*[1,2,3,4,5]))
def idimfo(**para):for key,value in para.items():print(key,':',value)
idimfo(name='小红',age=18,height=166,weight=96)
ls1 =['name','age','height','weight']
ls2 =['小兰',19,165,92]
print(idimfo(**dict(zip(ls1,ls2))))

3 返回值return

如果函数需要得出某个值为之后的代码使用,可以使用return关键字,return可以出现在函数的任何一个位置,用于结束函数。return返回的值可以是一个,也可以是多个。return在函数中可带可不带,不带函数返回的默认值是None。

def upperprint(a):s = str(a).upper()return s
str1 = input()
print(upperprint(str1))

4 变量的作用域

与C语言一样,python的变量也分为全局变量和局部变量。变量有自己的作用域与生命周期,作用域是指这个变量从代码的那一段到那一段是起作用的,生命周期是指代码开始作用的代码到结束作用的代码。

全局变量定义在函数或代码段外,或者函数或代码段内使用global关键字,它的作用域在整个程序,只有程序结束了它的生命周期才结束。
局部变量定义在函数或代码段内部,只要函数或代码段结束了变量的生命周期随之结束。当局部变量和全局变量的名称重复时,局部变量的优先级高。

n =100
def fac(x,y):x *=2global ss =100return x
while n>0:print(fac(n,2))n -=1

相关文章:

python学习记录18

1 函数的定义 python中的函数指使用某个定义好的名字指代一段完整的代码&#xff0c;在使用名字时可以直接调用整个代码&#xff0c;这个名字叫做函数名。利用函数可以达到编写一次即可多次调用的操作&#xff0c;从而减少代码量。 函数分为内置函数与自定义函数。内置函数例…...

云原生之k8s服务管理

文章目录 服务管理Service服务原理ClusterIP服务 对外发布应用服务类型NodePort服务Ingress安装配置Ingress规则 Dashboard概述 认证和授权ServiceAccount用户概述创建ServiceAccount 权限管理角色与授权 服务管理 Service 服务原理 容器化带来的问题 自动调度&#xff1a;…...

redis工程实战介绍(含面试题)

文章目录 redis单线程VS多线程面试题**redis是多线程还是单线程,为什么是单线程****聊聊redis的多线程特性和IO多路复用****io多路复用模型****redis如此快的原因** BigKey大批量插入数据测试数据key面试题海量数据里查询某一固定前缀的key如果生产上限值keys * &#xff0c;fl…...

再次讨论下孤注一掷

在孤注一掷中的黑客技术里面&#xff0c;简单介绍了电影孤注一掷中用的一些"黑科技"&#xff0c;这里继续讨论下&#xff0c;抛弃这些黑科技&#xff0c;即使在绝对公平的情况下&#xff0c;你也一样赢不了赌场 相对论有一个假设就是光速不变&#xff0c;这里也有个…...

LeetCode46.全排列

LeetCode刷题记录 文章目录 &#x1f4dc;题目描述&#x1f4a1;解题思路⌨C代码 &#x1f4dc;题目描述 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例1 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,…...

蓝桥杯-洛谷刷题-day4(C++)

目录 1.高精度乘法 i.P1303 A*B Problem高精度乘法 2.P4924 [1007] 魔法少女小Scarlet i.题目 ii.代码 3.二维数组 i.二维数组的建立 ii.备份 iii.二维数组的转动 4.指令的及时处理 1.高精度乘法 即&#xff0c;将每一位变为数组中的一位&#xff0c;并在数组中以倒序排列&a…...

c++总复习

1. C 中的移动语义及其作用 定义 移动语义是 C 11 引入的一种重要特性&#xff0c;它用于优化对象的资源管理&#xff0c;特别是在涉及对象所有权转移的场景中。传统的 C 语义在对象赋值或传递给函数时&#xff0c;通常会进行拷贝操作&#xff0c;即创建源对象的一个完整副本&…...

设计模式之策略模式-工作实战总结与实现

文章目录 应用场景存在问题解决方案继续延伸 应用场景 假设有这样的业务场景&#xff0c;大数据系统把文件推送过来&#xff0c;根据不同类型采取不同的解析方式。多数的小伙伴就会写出以下的代码&#xff1a; public class Question {public static void main(String[] args…...

E - 11/22 Subsequence题解

文章目录 大致思路代码 大致思路 预处理: 用pos1, pos2, posls 分别记录 1 1 1, 2 2 2 , / / / 在字符串中的『位置』 用cum1 和 cum2 分别存储了 1 1 1 和 2 2 2 的前缀和&#xff0c;这样可以快速获取任意区间内的 1 1 1 和 2 2 2 的『数量』 查询处理: 对于每个查询…...

PyPI 攻击:ChatGPT、Claude 模仿者通过 Python 库传播 JarkaStealer

《Java代码审计》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484219&idx1&sn73564e316a4c9794019f15dd6b3ba9f6&chksmc0e47a67f793f371e9f6a4fbc06e7929cb1480b7320fae34c32563307df3a28aca49d1a4addd&scene21#wechat_redirect 《Web安全》h…...

单片机学习笔记 9. 8×8LED点阵屏

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘单片机学习笔记 8…...

【大模型-智能体】AutoGen Studio测试和导出工作流程

1. 测试工作流程 AutoGen Studio允许用户针对任务交互式地测试工作流程&#xff0c;并审查由此产生的成果物&#xff08;如图像、代码和文档&#xff09;。此外用户还可以查看Agent工作流程在处理任务时的“内心独白”&#xff0c;并查看诸如运行成本&#xff08;如回合数、令牌…...

【Linux】-学习笔记04

第十二章、磁盘管理 1.查看磁盘空间使用量 1.1df命令 作用&#xff1a; 列出文件系统的磁盘空间占用情况 df&#xff0c;disk free&#xff0c;通过文件系统来快速获取空间大小的信息&#xff0c;当我们删除一个文件的时候&#xff0c;这个文件 不是马上就在文件系统当中消…...

计算机网络:应用层知识点概述及习题

网课资源&#xff1a; 湖科大教书匠 1、概述 习题1 1 在计算机网络体系结构中&#xff0c;应用层的主要功能是 A. 实现进程之间基于网络的通信 B. 通过进程之间的交互来实现特定网络应用 C. 实现分组在多个网络上传输 D. 透明传输比特流 2 以下不属于TCP/IP体系结构应用层范畴…...

如何构建高效的接口自动化测试框架?

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在选择接口测试自动化框架时&#xff0c;需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说&#xff0c;使用Python相关的测试框架更为便捷。无论选…...

【C++习题】10.反转字符串中的单词 lll

题目&#xff1a; 链接&#x1f517;&#xff1a;557.反转字符串中的单词 lll 题目&#xff1a; 代码&#xff1a; class Solution { public:void Reverse(string &s, int start, int end){char tmp;while(start < end){tmp s[start];s[start] s[end];s[end] tmp;…...

undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12 问题解决

​ 在部署运行opencompass项目时遇到了如下报错&#xff1a; ImportError: /data/conda/envs/opencompass/lib/python3.10/site-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12​…...

C语言——数组逐元素操作练习

定义一个能容纳10个元素的整形数组a&#xff0c;从键盘读取9个整数存放到前9个数组元素中。 一. 从键盘读取一个整数n和位置p(0<p<8)&#xff0c;插入n到数组a中&#xff0c;插入位置&#xff1a;下标p。要求插入点及后续的数组元素都要后移动。 代码如下&#xff1a; …...

HTML的自动定义倒计时,这个配色存一下

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>自定义倒计时</title><style>* {mar…...

CUDA补充笔记

文章目录 一、不同核函数前缀二、指定kernel要执行的线程数量三、线程需要两个内置坐标变量来唯一标识线程四、不是blocksize越大越好&#xff0c;上限一般是1024个blocksize 一、不同核函数前缀 二、指定kernel要执行的线程数量 总共需要线程数是&#xff1a; 1 * N N个线程…...

具备“看屏幕”能力的Agent能解决哪些传统接口无法解决的问题?实在Agent以ISSUT视觉感知构建企业级AI智能体新高度

2026年4月&#xff0c;人工智能领域正经历从“文本对话”向“具身操作”的范式跨越。根据腾讯云在2026年3月27日发布的《Agent全景产品图谱》&#xff0c;具备“看屏幕”能力的视觉智能体已成为破除数字化转型“最后一步”僵局的核心变量。在过去的一周内&#xff0c;清华大学与…...

AI技术原理--AI Token是什么:10分钟搞懂大模型基础单位

当你在ChatGPT里输入"你好&#xff0c;今天天气怎么样"的时候&#xff0c;你以为它真的读懂你的话吗&#xff1f; 并不是。 在你看不到的地方&#xff0c;有一个叫"分词器"的程序&#xff0c;正在把你的文字拆解成一个一个叫"Token"的单元。 …...

Unity/Godot开发者看过来:手把手教你将Spine动画导出并集成到游戏引擎里(附常见报错解决)

Unity/Godot开发者实战指南&#xff1a;Spine动画工程化集成全流程解析 当你在Spine中完成了一个令人满意的角色动画后&#xff0c;接下来面临的真正挑战是如何让它活灵活现地跑在游戏引擎里。作为经历过无数次Spine动画集成的老手&#xff0c;我深知这个过程中可能遇到的种种…...

Codesys软运动控制进阶:用SMC_FreeEncoder为ECAT轴搭建一个“虚拟手轮”调试工具

Codesys软运动控制进阶&#xff1a;用SMC_FreeEncoder为ECAT轴搭建虚拟手轮调试工具 在自动化设备开发周期中&#xff0c;机械安装与电气调试往往存在时间差。当机械部件尚未就位或伺服驱动器临时故障时&#xff0c;如何提前验证运动控制逻辑&#xff1f;传统做法是等待硬件就绪…...

番茄小说下载器:开源电子书工具全解析

番茄小说下载器&#xff1a;开源电子书工具全解析 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 番茄小说下载器是一款基于Rust语言开发的开源工具&#xff0c;专为解决在线小…...

LeaguePrank:英雄联盟客户端个性化引擎完全指南

LeaguePrank&#xff1a;英雄联盟客户端个性化引擎完全指南 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 1. 价值定位&#xff1a;重新定义游戏界面体验 1.1 产品核心价值 LeaguePrank作为开源的英雄联盟客户端个性化引擎…...

3分钟彻底掌握:Windows Defender永久禁用工具defender-control完全指南 [特殊字符]️➡️[特殊字符]

3分钟彻底掌握&#xff1a;Windows Defender永久禁用工具defender-control完全指南 &#x1f6e1;️➡️&#x1f6ab; 【免费下载链接】defender-control An open-source windows defender manager. Now you can disable windows defender permanently. 项目地址: https://…...

BetterNCM安装器完全指南:3分钟掌握网易云音乐插件管理技巧

BetterNCM安装器完全指南&#xff1a;3分钟掌握网易云音乐插件管理技巧 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否厌倦了网易云音乐客户端的功能限制&#xff1f;想要为你的…...

OpenClaw+Phi-3-vision-128k-instruct对比测试:图文问答精度超越纯文本模型3倍

OpenClawPhi-3-vision-128k-instruct对比测试&#xff1a;图文问答精度超越纯文本模型3倍 1. 测试背景与动机 最近在探索多模态模型的实际应用价值时&#xff0c;我注意到微软发布的Phi-3-vision-128k-instruct模型在图文理解方面有突出表现。作为一个长期使用OpenClaw进行自…...

BilibiliDown:三步搞定B站视频下载,支持批量收藏夹与UP主作品批量保存

BilibiliDown&#xff1a;三步搞定B站视频下载&#xff0c;支持批量收藏夹与UP主作品批量保存 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https:…...