首页 > 其他分享 >函数基础和函数参数

函数基础和函数参数

时间:2023-09-29 19:33:24浏览次数:36  
标签:截图 return 函数 基础 函数参数 num print name

第一部分:函数基础

 函数的作用意义:

  1.为了更好地管理代码,可能对应的代码块需要重复多次使用,所以通过一个函数封装起来,便于下次直接调用

  2.方法实际上是通过函数实现的

例1:

# type()  # 内置函数
def lis():
    li=[1,2,3]
    li.append(4)
    li.pop(2)  # 指定删除
    # print(li)  # [1, 2, 4]
    return li # 只有这里有return返回值调用的时候才能打印出来

a=lis() # 调用
print(a) # None

运行截图:

 例2:字母大小写转换

s='abc'
s2=s.upper()  # 有个return返回值给到s2接受
print(s2)

运行截图:

 第二部分:函数参数

 例1: 默认参数实参没有传值的时候就使用默认值,传了值就按下面的实参,注意:默认参数要位于必备参数列表的后面

def name(a,b=1):  # 定义函数的时候写的参数叫做形参:必备参数
    num=a+b
    print(a)
    print(b)
    return num  # 这里有没有retrun的作用区别注意一下
# b有默认值暂时不传值进去了 l=name(6) # 实参 ===》 这里的l只接受return返回值 print(l)

运行截图:

 如果给b也传值进去:

# l=name(6)  # 实参  ===》 这里的l只接受return返回值
l=name(6,2)
print(l)

运行截图:

 注意:return 和print的区别

  return:返回结果,结束函数
  print:打印结果
  如果要两个数拼接就需要函数体里面有返回值才可以实现
def name(a,b=1):  # 定义函数的时候写的参数叫做形参:必备参数
    num=a+b
    print(a)
    print(b)
    return num  

# l=name(6)  # 实参  ===》 这里的l只接受return返回值
l=name(6,2)
# print(l)

# 如果要两个数拼接就需要函数体里面有返回值才可以实现
print('总和是:%s,请核实一下信息'%l)

例题2:不定长参数(不限定长度,也可以不传参数)*args  

def name(a,b=1,*args):  # 定义函数的时候写的参数叫做形参:必备参数
    num=a+b
    print(a)
    print(b)
    # return num
    print(args)  # (2, 4, 5)

l=name(6,4,2,4,5)  # 实参  ===》 这里的l只接受return返回值
# l=name(6,4,*(2,4,5)) # 也可这样写
print(l)

运行截图:

 例3:不定长参数:**kwargs(不管传多少个参数都可以)

def name(*args,**kwargs):  
print(args) # (2, 4, 5) print(kwargs) # l=name(6,4,2,4,5) # 实参 ===》 这里的l只接受return返回值 l=name(6,4,*(2,4,5),**{'a':3,'c':1}) # 也可这样写 print(l)

运行截图:

 例4:指定传参数

def name(a,b=1,*args): 
    num=a+b
    print(a)
    print(b)
    return num

al1=name(a=3,b=5)  # 这样写可指定传参
print(al1)

运行截图:

 第三部分:常见内置函数

 

1.过滤器:filter(函数,过滤的对象)

li=[3,2,1,0,5,7,9]
def num(obj):
    if obj>=5:
        # print(obj)
        return obj

# 过滤器:filter(函数,过滤的对象)
# list(filter(num,li))
# tu=tuple(filter(num,li))
tu=str(tuple(filter(num,li)))
# 把元组转换成字符串拼接到字符串里面
print('优秀学员:%s'%(tu))

运行截图:

 2.zip:将对象逐一配对(没有的就不配对了)

li1=[11,2,4,5]
t=('小明','小花','小张')
print(dict(zip(li1,t)))  # 配对:类型转换

运行截图:

 3.enumerate :返回一个可以枚举的对象( 类型转换才可以看到效果)

print(list(enumerate(['小明','肖工','李工'])))
print(tuple(enumerate(['小明','肖工','李工'])))
print(dict(enumerate(['小明','肖工','李工'])))

运行截图:

4.eval:取出字符串中的内容

# 将字符串当成有效的表达式来求值并返回计算结果,不能赋值
b=22
eval('print(123)')
eval('print(b)')

运行截图:

 5.exec :执行字符串编译过的字符串

c='print(123)'
exec(c)
exec('d=5')  # 可以赋值
print(d)

运行截图:

 6.map(与filter的区别是不管是否满足都会返回,不满足的返回默认None,可以手动改下)

li2=[62,82,81,90,95,77,69]
def f(o):
    if o>=80:
        return '优秀'
    else:
        return '加油'

print(li2)
m=list(map(f,li2))
print(m)

运行截图:

 练习:

定义一个函数,可以对传入的数据进行排序, 通过一个参数来决定是正向排序还是反向排序

 

每逢佳节倍思亲,又是一年中秋,国庆。祝愿所有亲朋好友月饼节吃的开心,喝的浪漫,对于自己还是那句话先努力挣钱吧,没有足够的积蓄哪有想要诗与远方的遐想与底气呢? -----------加油吧,打工人

 

标签:截图,return,函数,基础,函数参数,num,print,name
From: https://www.cnblogs.com/xiaogan-520/p/17737194.html

相关文章

  • 无涯教程-JavaScript - FIND函数
    描述FIND和FINDB在第二个文本字符串中定位一个文本字符串,并从第二个文本字符串的第一个字符返回第一个文本字符串的起始位置的编号。FIND适用于使用单字节字符集(SBCS)的语言,而FINDB适用于使用双字节字符集(DBCS)的语言。您计算机上的默认语言设置会影响返回值,如下所示:......
  • ICLR2023 | 用于图像复原的基础二值卷积单元
    前言 本文分享ICLR2023论文BasicBinaryConvolutionUnitForBinarizedImageRestorationNetwork ,介绍用于图像复原的基础二值卷积单元。本文转载自我爱计算机视觉仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、......
  • 无涯教程-JavaScript - Exact函数
    描述EXACT函数比较两个文本字符串,如果它们完全相同,则返回TRUE,否则返回FALSE。语法EXACT(text1,text2)争论Argument描述Required/OptionalText1Thefirsttextstring.RequiredText2Thesecondtextstring.RequiredNotesEXACT区分大小写,但忽略格式差异......
  • 2023-2024 20231329 《计算机基础与程序设计》第1周学习总结
    作业信息  这个作业属于哪个课程<https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP>这个作业要求在哪里<https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01>这个作业的目标<快速浏览一遍教材计算机科学概论,课本每章提出至少一个自己不懂的或最想解决的问题并在......
  • 求欧拉函数
    筛法+试除推荐视频:筛法求欧拉函数点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineLLlonglongconstintN=1e8+10;intp[N],cnt,phi[N];boolvis[N];voidget_phi(intn){//线性筛 phi[1]=1; for(inti=2;i*i<=n;i++){ if(!v......
  • qsort函数
    (目录)1.什么是qsort函数我们以前学习过的一些排序算法,如冒泡、希尔、快排等等,它们速度有快有满,但是这些排序都只能排序一种类型的变量,如果想排序另一种变量就需要另写一个排序,那么有没有什么排序是“万能的”呢,什么类型数据都能排的呢?答案就是qsort函数qsort函数实现了一种......
  • 【代码片段】makefile 中通过 shell 函数执行 sed
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯先上代码:(在macos上调试通过)#defineashellfunctiontosetdebugmodetoreleasemode#whenosismacbook,usegsedasseddefinefunction_sed_set_rel......
  • 2023-2024-1 20231416《计算机基础与程序设计》第一周学习总结
    第一次接触电脑就是安装虚拟机有一种拔剑四顾心茫然的无措之感但好在网上的虚拟机安装基础和同学们的帮助无疑是我的救命稻草virtualbxVMwareBIOS这都是我前所未闻的这一次作业我学到了很多还希望以后能更进一步1.在20世纪80年代末 并行体系结构出现 所有处理器共享同......
  • 前端 toFixed()函数
    toFixed()函数:可把Number四舍五入为指定小数位数的数字。toFixed()中的参数就是需要取的小数位数,0表示不留小数点VarNumber=3.1415926Number.toFixed(2);//输出3.14Number.toFixed(0);//输出3VarNumber=18.888;Number.toFixed(0);//输出19......
  • Java语言基础知识全总结
    一.Java的优点1.      跨平台性。一次编译,到处运行。Java编译器会将Java代码编译成能在JVM上直接运行的字节码文件,C++会将源代码编译成可执行的二进制代码文件,所以C++执行速度快2.      纯面向对象。Java所有的代码都必须在类中书写。C++兼具面向对象和面向过程的特......