Python入门之函数详细讲解

python3从入门到精通,python3入门经典100例 函数是具有一定功能的代码块,该代码块可以重复的执行。函数的定义方式如下:def 函数名(参数列表):函数体。 阅读详情

一、函数的定义

如果不主动调用函数,函数是不会执行的

1. 函数的定义

如果不主动调用函数,函数是不会执行的

def hello():
    print('hello1')
    print('hello2')
    print('hello3')

hello()

2.函数的嵌套

def python():
    print('python')
    def westos():
        print('westos')
    westos()
python()

二、函数的参数

参数:形参 实参

形参:位置参数 默认参数 可变参数 关键字参数

1. 位置参数

def studentInfo(name,age):  #安装位置传参
    print('%s有%s岁' %(name,age))
studentInfo('westos',12)
studentInfo(12,'westos')    #未按照固定位置传参出现逻辑错误
studentInfo(age=11,name='westos')

2.默认参数

def mypow(x,y=2):
    print(x**y)
mypow(2,3)
mypow(4,3)
mypow(4)    #使用默认参数y=2

3. 可变参数

def mysum(*a):
    sum = 0
    for item in a:
        sum += item
    print(sum)
a = [1,2,3,4,5]
mysum(1,2,3,4,5)
mysum(1,2,3,4,5,10)

 

4.关键字参数

def studentInfo(name,age,**kwargs):
    print(name,age)
    print(kwargs)
 
studentInfo('westos','18',gender='female',hobbies=['coding','running'])

三、函数的返回值

返回值:函数运算的结果,还需要进一步操作时,给一个返回值return用来返回函数的执行结果,如果没有返回值,默认返回None,python可以间接返回多个值(返回一个元组),一旦遇到return,函数执行结束,后面的代码不会执行

def mypow(x,y=2):
    return x ** y,x + y
    print('hello')
print(mypow(3))
 
a,b = mypow(3)
print(a,b)

四、变量的作用域

局部变量:在函数内部定义的变量,只在函数内部其作用,函数执行结束,变量会自动删除

全局变量:全局变量是在整个py文件中声明,全局范围内都可以访问


a = 1           # 全局变量
print(a)
print('out:',id(a))     # 查看变量在内存中的地址
def fun():
    # global a      # 声明a为全局变量
    a = 5       # 函数内部局部变量
    print(a)
    print('in:',id(a))  # 查看局部变量在内存中的地址
fun()
print(a)
print(id(a))

a = 1           # 全局变量
print(a)
print('out:',id(a))     # 查看变量在内存中的地址
def fun():
    global a      # 声明a为全局变量
    a = 5       # 函数内部局部变量
    print(a)
    print('in:',id(a))  # 查看局部变量在内存中的地址
fun()
print(a)
print(id(a))

函数练习1:

编写一个函数, 接收字符串参数, 返回一个元组,'ehllo WROLD'元组的第一个值为大写字母的个数, 第二个值为小写字母个数.

def fun(x):
    upper_count = 0
    lower_count = 0
 
    for i in x:
        if i.isupper():
            upper_count += 1
        elif i.islower():
            lower_count += 1
        else:
            continue
    return upper_count,lower_count
 
a = fun('ehllo WROLD')
print(a)

函数练习2:

编写函数, 接收一个列表(包含30个1~100之间的随机整形数)和一个整形数k,返回一个新列表。函数需求:将列表下标k之前对应(不包含k)的元素逆序:将下标k及之后的元素逆序。如[1,2,3,4,5] 2 ,结果为[2,1,5,4,3]、

def fun(li,k):
    if k < 0 or k > len(li):
        return 'error!'
    return li[:k][::-1] + li[k:][::-1]
print(fun([1,2,3,4,5],2))

函数练习3:

题目需求: 对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:

f(13) = 1**2 + 3**2 = 10

f(207) = 2**2 + 0**2 + 7**2 = 53

下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n

输入:第一行包含3个正整数k,a, b, k>=1, a,b<=10**18, a<=b;

输出:输出对应的答案;

范例: 输入: 51 5000 10000  输出: 3
 

def f(n):
    #数字转换为字符串
    n = str(n)
    sum = 0
    for item in n:
        sum += int(item) ** 2
    return sum
#接收变量 k,a,b
s = input()
#存储整型k,a,b
li = []
for item in s.split():
    li.append(int(item))
k,a,b = li
count = 0
for i in range(a,b+1):
    if k*f(i) == i:
        count += 1
print(count)

Python笔记——Python 语法及入门 (超全超详细) 然后有些朋友可能下去也试了 print("%4.2f" % 11.345) 这段代码,发现输出是11.35,带上小数点是有5个宽度的,这是怎么回事呢?简单解释就是编译器在格式化时,如果格式化代码出现问题,会根据语义进行了代码优化,不然你试试下面这个代码 print("%1.2f" % 11.345) ,会发现输出依然是11.35,足以证实)> 嵌套列表时,被嵌套的列表可以看作一个元素,第一个下标就是确定元素是列表[1,2,3],再用一个下标取出这个被嵌套的列表中的元素。 阅读详情

相关推荐

Python入门教程 —— 高阶函数和装饰器

在Python中,我们还可以定义一个变量,让它来指向一个函数,相当于给函数起了一个别名。fun = test # 定义了一个变量fun,让它指向了 test 这个函数print(fun()) # 使用fun()可以直接调用test这个函数注意:在定义一个变量表示一个函数时,函数后面不能加括号!加括号表示的是调用这个函数。result = test() # 这种写法是调用test函数,并把函数的返回值赋值给result变量。

yixiazhiqiu的博客 1219

JavaScript-算法基础

文章目录将摄氏温度转换成华氏温度翻转字符串数字的阶乘查找字符串中最长的单词返回数组中最大的数字检查字符串的结尾重复字符串截断字符串检查数组中的元素真假值测试单词的首字母大写slice 和 splice去除数组中的假值我身在何处集合之间的关系分割数组 将摄氏温度转换成华氏温度 function convertToF(celsius) { let fahrenheit = (celsius...

小知的博客 1304

使用Python编写简单的回文检测程序

在这篇文章中,我们将使用Python编写一个简单的程序来检测给定字符串是否是回文。现在,您可以运行这个程序,并输入不同的字符串来测试回文检测功能。程序将根据输入的字符串输出相应的结果,指示该字符串是否是回文。我们首先需要定义一个函数,该函数将接受一个字符串作为参数,并返回一个布尔值,指示该字符串是否是回文。接下来,我们可以编写一个简单的程序,使用上述函数来检测用户输入的字符串是否是回文。来生成字符串的倒序版本,并将其与原始字符串进行比较。如果它们相同,那么字符串是回文,函数将返回。然后,我们使用切片操作。

TechRoarX的博客 389

Javascript 基础数据结构

基础数据结构 使用数组存储不同类型的数据 以下是最简单的数组(Array)示例: 这是一个一维数组(one-dimensional array),它只有一层,或者说它里面没有包含其它数组。 可以观察到,这个数组中只包含了布尔值(booleans)、字符串(strings)、数字(numbers)以及 JavaScript 中的其他数据类型: let simpleArray = [‘one’, 2, ‘three’, true, false, undefined, null]; console.log(sim

m0_51485767的博客 1174

〖Python零基础入门篇㉛〗- 函数的定义与使用

什么是函数? --- > 函数是具有某种特定功能的代码块,可以重复使用(在前面数据类型相关章节,其实已经出现了很多 Python 内置函数了)。它使得我们的程序更加模块化,不需要编写大量重复的代码。 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。

易编橙 · 终身成长社群,相遇已是上上签! 4万+

SAP SM30数据维护实战:条件筛选与动态校验的实现技巧

本文详细介绍了SAP SM30数据维护的实战技巧,重点讲解如何通过条件筛选实现精准数据查取,以及利用表维护生成器事件实现动态数据检查与校验。文章提供了从基础视图创建到高级事件编程的完整流程,包括调用函数VIEW_MAINTENANCE_CALL传递筛选条件,以及在NEW_DATA和CHANGE_SAVE事件中编写业务规则校验逻辑,帮助开发者提升SM30的管控能力与数据质量。

q9w8e7r6t5的博客 521

python自学日记4-字符串

python自学日记4-字符串 1.for循环 使用for循环遍历字符 由于好久没用for循环了,有点生疏,竟然写成了下面代码 fruit='banana' len(fruit) index=0 for index<len(fruit): print(fruit[index]) index+=1 File “”, line 3 for index<len(fruit)...

zxbylx1120471286的博客 483

GEO数据库数据下载方法总结

#GEO数据下载 GEO是生信分析经常用到的数据库。经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的。 ##方法一:直接从浏览器中下载 以数据集GSE1001为例, 可以直接点击“Series Matrix Files”获取该样本txt格式的表达谱数据,一般我们认为这种处理过的表达谱数据是没有问题的,当然,具体情况具体分析。 打开下载的文件可以看到许多“#”开头的行,这些是注释信息,一般关注这些注释信息中的“data pr

sakoko_的博客 4万+

python---函数01

定义函数 格式:def 函数名() 函数内容 函数调用 如果不主动调用函数,函数是不会执行的 def say_hello(): print 'hello1' print 'hello2' print 'hello3' 函数的调用 say_hello() 函数参数的使用 在函数名后...

qq_42764351的博客 995

大学物理第二章 质点动力学详解

大学物理第二章 质点动力学概念详解

weixin_63026364的博客 1万+

海康视觉平台VisionMaster实战入门:从通讯配置到工具应用

本文为海康VisionMaster视觉平台实战入门指南,详细介绍了从软件安装准备、与PLC等外部设备的通讯配置,到匹配定位、测量、畸变矫正等核心工具的应用方法。通过实战案例拆解,帮助工程师快速掌握如何搭建完整的机器视觉检测与引导定位系统,实现工业自动化项目落地。

weixin_29224309的博客 1017

python函数详细讲解_python 函数讲解:从入门到深入,你想要的全都有

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理以下文章来源于Python之王 ,作者小sen入门Python内置了很多有用的函数,我们可以直接调用。要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。调用abs函数:>>> abs(...

weixin_39747341的博客 91

在昇腾910B服务上部署搭建适配PDF解析工具Mineru2.5开源项目

本文介绍了在昇腾910B服务器上部署开源PDF解析工具Mineru2.5的过程。首先从昇腾社区下载mindie镜像并运行容器,安装系统依赖。针对部署过程中遇到的多个报错问题(如torchvision与torch版本不匹配、昇腾软件栈与NumPy 2.0不兼容等),提供了具体解决方案和兼容版本。通过设置环境变量、安装指定版本的Python依赖包,成功部署Mineru项目并下载模型。最后运行测试,验证了在NPU设备上运行pipeline的可行性。整个过程详细记录了版本适配和错误处理方法,为类似部署场景提供了参考

一起加油吧 2164

(入门)详细讲解几种Python列表常用的函数使用

这篇文章主要为大家讲解一下Python列表常用的一些函数的使用,我们想要学习Python,首先要了解它的几种常见的函数列表,这样以后学习才能事半功倍。python编程学习资料点击免费领取 目录 介绍 append() extend() insert() pop() remove() 介绍 append() 语法 1 list.append( element ) 参数 element:任何类型的元素 列表「末尾」添加元素 ..

Ah0609的博客 590

使用Python爬虫抓取政府网站政务信息:公告、通知的自动化抓取与分析

通过结合Requests、BeautifulSoup、Selenium等技术,你能够高效地抓取政府网站的数据,并通过MySQL存储与Pandas分析这些数据。通过自动化手段抓取这些信息,不仅可以提高数据收集的效率,还能够实时获取最新的政务动态,为政策研究、舆情分析等提供宝贵数据。我们将通过Python的Requests、BeautifulSoup、Selenium等工具,结合最新的技术实现一个完整的爬虫系统,帮助你轻松抓取并分析政务信息。通过爬虫,我们可以自动化地从指定网站上抓取公告、新闻、通知等信息。

2201_76125261的博客 1907

什么是华为OD?怎么才能通过华为OD机试?华为OD机试怎么刷题?(2024最新华为OD机试E卷更新中)

华为OD是Outsourcing Dispacth模式,是华为和外企德科联合招聘的简称。目前华为大多数是OD招聘。OD模式也是华为提出的一种新的用工形式,每年都会从OD项目挑优秀员工转为正编。所有OD和正式员工一样对待,没有差别,部门平时开会、评审等活动都是一起参加的,是同薪同酬,都是由华为的HR直接定的薪资,看的是我们技术能力。华为是大企业,能到华为上班也是有能力的,每个部门都有好多职位,是金子,在哪都会发光。

KJ.JK 11万+

【2024】Python入门,详细基础教程,零基础入门,详细图文

Python入门基础介绍

weixin_42399800的博客 17万+

Python爬虫实战:模拟登录B站 – 处理Cookie和加密参数

由于B站在登录过程中采用了多种安全措施,包括加密的请求参数和cookie验证,模拟登录成为一项具有挑战性的任务。首先,我们需要获取B站的登录页面,并解析出其中的CSRF令牌和其他隐藏的字段。B站的登录接口通常会包含一些动态的加密参数,我们需要在登录前通过GET请求获取这些信息。本文详细介绍了如何使用Python模拟登录B站,解决加密参数的处理、图形验证码的识别以及登录后的数据抓取。库中的加密方法加密登录请求中的密码。一旦登录成功,我们可以通过维护会话状态,抓取登录后的数据,如个人主页、评论、观看记录等。

2201_76125261的博客 1309

【新人系列】Python 入门(十二):函数基础

函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数还可以接收参数,并根据参数的不同做出不同的操作,最后再把处理结果返回给我们。函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串来说明函数用途。函数内容以冒号起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

Newin2020的博客 1798

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python3入门教程(非常详细),python3从入门到精通

函数是具有一定功能的代码块,该代码块可以重复的执行。函数的定义方式如下:def 函数名(参数列表):函数体。

2301_81900494的博客 1546

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python入门学习笔记,2025最新Python详细教程,(代码示例讲解)

Python 是一种高级解释型编程语言,具有简洁易读的语法和丰富的标准库/第三方库支持。本学习笔记涵盖Python基础语法、数据类型、运算符、字符串处理、输入输出等核心概念,特别介绍了if判断语句、while/for循环结构以及函数定义方法。Python采用缩进来划分代码块,使用def定义函数,支持多种数据类型转换和格式化输出(如f-string)。学习建议包括:遵循PEP8规范、使用文档字符串、合理使用调试技巧,并提供了官方文档和PyPI作为参考资料。注意Python 2.x已停止维护,建议使用Pytho

2301_79503034的博客 708

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python 语法及入门(超全超详细)

定义函数"""这是一个问候函数"""# 定义函数 def greet(name) : """这是一个问候函数""" return f"Hello, {name }!" # 调用函数 message = greet("Alice") print(message) # Hello, Alice!

2301_78096295的博客 5373

python画三角函数图|小白入门级教程

讲解了python通过numpy和matplotlib模块如何实现三角函数绘图,展示了图形属性如图例、坐标轴设定等的实现

专注python+工程实践的热心婶子 1347

python 基础 详细,python 基础入门

在Python中,变量的概念基本上和初中代数的方程变量是一致的。例如,对于方程式 y=x*x ,x就是变量。当x=2时,计算结果是4,当x=5时,计算结果是25。只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头,比如:a = 1变量a是一个整数。变量t_007是一个字符串。

K12345611717的博客 1187

Python笔记——Python入门教程(超详细)_python入门教程(非常详细)

Python是一种「基于C语言」实现的,「开源」的,「面向对象的」的,「动态数据类型」的「解释型」语言。Python的语法「简单」且「优雅」,相对于其他语言学习「难度较低」,入门非常快。Python的上升趋势非常明显,20年来首次超过C语言和Java,成为「最受欢迎」的程序语言。Python0. Hello Python许多PC和Mac默认已经安装了python,在 cmd 运行以下命令检查是否安装了python 已安装python则会显示出python的「版本」 如果你的电脑没装Python,就先安装

a25847a的博客 1325

全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数

在 Python 中,函数和方法都是代码的基本单元,用于封装和执行特定的任务。它们之间有一些重要的区别,而 lambda 匿名函数则是 Python 提供的一种简洁定义小型函数的方法。

weixin_44719294的博客 1841
上一篇: Python入门之集合set详细讲解
下一篇: Python入门之列表生成式、字典生成式
vanvan_
博客等级 码龄9年 106粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值