首页 > 编程语言 >19.python之自定义函数

19.python之自定义函数

时间:2024-08-07 18:05:53浏览次数:12  
标签:10 函数 自定义 19 hs python 可变 print def

python之自定义函数
一、函数的介绍

1、函数定义:函数是一个组织好,可重复使用,实现单一或联合的代码段。

2、函数作用:a、降低代码的冗余、b、增加代码的复用性 c、提高程序的拓展性 d、封装

二、python的结构

三、函数的使用

1、格式:

def 函数名 (变量):

执行语句

函数名(实际参数) #调用函数

2、实例:

def hs():
print(1)
print(2)
print(3)
def hs2():
print(4)
print(5)
print(6)

hs()

hs2()
3、截图:

4、调用方法:

第一种:直接调用

函数名()

第二种:通过main方法

if name == 'main': #主函数的入口,也称为主函数
hs()
hs2()

注释:name__是当前模块名,当模块被之际运行的模块名为__main
整句话的意思是当模块被运行时,以下的代码块将被运行,当模块是被导入时,代码块不会运行
一个py文件就是一个模块

第三种被调用的方法:跨模块调用

x模块

def  hs():
    print(1)
    print(2)
    print(3)
def hs2():
    print(4)
    print(5)
    print(6)

y模块

导入函数:

from  bao.x import *
hs()
hs2()

四、函数种的参数:

1、无参数

2、传入单个参数

def  hs(a):
    print(a)
hs(10)

3、传入多个参数

def  hs(a,b):
    print(a+b)
hs(10,5)

4、传入默认参数

def hs(a,b=18):
print(a+b)
hs(10)
def hs1(a,b=18):
print(a+b)
hs(10,4)
*

5、可变长元组(* 变量)

a、第一种情况传入所有可变长元素

def hs(*a):
print(a)
hs(10,1,2,3,4)

第二种情况:

普通参数,可变长元素同时传入,(可变长元素在后)

6、可变长字典(** 变量名)

第一种情况(单独传可变长字典)

def hs(**a):
print(a)
hs(name="zs",age="18")

第二种情况(传普通参数,传可变长字典)

def hs(b,**a):
print(a)
print(b)
hs(10,name="zs",age="18")

第二种情况(传可变长元组,传可变长字典)

def hs(*c,**a):
print(a)
print(c)
hs(10,1,2,3,4,name="zs",age="18")

第四种情况(传参数,传可变长元组,传可变长字典)

def hs(b,*c,**a):
print(a)
print(b)
print(c)
hs(10,1,2,3,4,name="zs",age="18")

标签:10,函数,自定义,19,hs,python,可变,print,def
From: https://www.cnblogs.com/fujintao/p/18347585

相关文章

  • 【JVM基础19】——实践-CPU飙高排查方案和思路?
    目录1-引言:2-⭐核心:2-1排查方案与思路3-小结:3-1如何排查CPU飙高问题?1-引言:CPU飙高指的是项目在运行过程中导致服务器的CPU内存占用较高。2-⭐核心:2-1排查方案与思路使用top命令查看占用CPU的情况top通过top命令查看后,可以查看是哪一个......
  • python装饰器提高代码复用,减少代码量,简洁易懂
    装饰器提高代码复用,减少代码量对于一个程序程序,无论是c、java、go还是python,组成这段程序的代码需要越简单越好,要知道程序的代码越简单,代码量越少,出错的概率就小,维护起来也简单。针对python语言,装饰器是我最近发现的针对简化代码,特别有帮助的工具。下面我用两段代码,演示一下同样......
  • python,怎么用工厂模式设计代码?
    工厂模式打造工厂模式,需要抽象工厂和具体工厂。怎么理解?抽象工厂就是接口的定义,但不负责具体的实现。而具体工厂则需要负责定义的接口的实现。就好比你爸爸让你上街时带一瓶酱油,而具体买什么牌子的由你决定。”你爸爸让带一瓶酱油“就是接口的定义函数,这个函数只负责定义”要求“......
  • python-深拷贝和浅拷贝
     浅拷贝list_name=["李琪",["周义杰","毛绍祺"]]data01=list_name[:]#触发浅拷贝:只复制第一层,共享深层数据data01[0]="琪琪"#修改第一层,数据2份,互不影响data01[1][0]="义杰"#修改深层,数据1份,数据互相影响print(list_name)print(data01) 深拷贝 作用:互不......
  • DockerCompose中使用自定义网络的方式实现部署SpringBoot+Mysql+Redis
    场景Docker中Docker网络-理解Docker0与自定义网络的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140788458Docker中使用自定义网络方式实现Redis集群部署与测试流程:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140797109上面介绍了D......
  • ASP.NET Core 鉴权授权四(自定义Session)
    实体模型publicclassBaseModel{publicintId{get;set;}}publicclassAuthorization:BaseModel{publicstringRoute{get;set;}publicstringAuthorizationName{get;set;}}publicclassUser:BaseModel{publicstringUserName{......
  • Python 循环引用与内存泄漏:深度解析
    Python循环引用与内存泄漏:深度解析在Python编程中,循环引用和内存泄漏是两个需要特别注意的问题。本文将深入探讨Python中的循环引用现象、其导致的内存泄漏问题,并提供详细的解决思路与方法。同时,我们还将分析一些常见场景,并分享扩展与高级技巧,帮助读者全面理解和应对这一......
  • Java 自定义注解笔记总结(油管)
    Java系列文章目录Java抽象相关知识笔记文章目录Java系列文章目录一、前言二、学习内容:三、问题描述四、解决方案:4.1自定义注解引入4.2自定义注解使用4.2.1自定义注解概念4.2.2自定义注解内部的属性五、总结:5.1学习总结:一、前言目的:学习自定义注解相关内......
  • GitHub点赞飙升!电信大牛的Python渗透测试实战指南
    在网络安全领域,会不会编程,是区分“脚本小子”和真正黑客的关键。实际的渗透测试中会遇到各种复杂的网络环境,常用工具不一定能满足需求,这时就需要对现有工具进行扩展,或者编写符合要求的工具、自动化脚本,这都需要一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制脚本......
  • Python scipy.optimize 给出错误答案,如何处理半定正条件?
    目标是使用pythonscipy.optimize计算优化问题。假设C是给定的4维矩阵(在代码中我使用随机矩阵来表示)。优化后的变量为A0和B0,它们是二维对称矩阵。约束条件是I+A0、I-A0、I+B0、I-B0是半定正的,其中I是二维单位矩阵。目标函数为maxTr((A0⊗B0)C),其中⊗是克罗内克......