首页 > 其他分享 >函数入门

函数入门

时间:2022-10-01 21:13:48浏览次数:52  
标签:__ 入门 函数 demo1 print def name

  • 摘要:函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这叫做用户自定义函数。

一、函数的使用步骤

(一)定义一个函数

  • 函数代码块以def关键词开头,后接函数标识符名和圆括号()。
  • 任何传入参数和自变量必须放在括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串以用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式地return相当于返回None
def 函数名(参数):
  “函数文档字符串”
  代码1
  代码2
  .....
#自定义一个函数
def demo1(): print("这是demo1函数") #函数如果不调用,他不会执行

 

(二)函数的调用

  • 定义一个函数只给了函数一个名称,指定了函数里面包含地参数,和代码块结构。
  • 函数必须调用才会进行执行
# 函数名(参数)
  • 不同的需求,参数可有可无。
  • 在Python中,函数必须先定义后使用。
# 定义函数
def demo():
    print("我是demo函数")

# 调用函数
demo()

--------------------------
我是demo函数

二、函数的参数作用

(一)必备参数

  • 必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用demo()函数,你必须传入一个参数,不然会出现语法错误。
  • 完成需求:一个函数完成两个数1和2的加法运算,如何书写程序?
def demo1(a,b):
    c = (a + b)
    print(c)

demo1(10,20)

-----------------------
30
  • 程序入口
# 程序入口
if __name__ == '__main__'
    # 一个程序的从这开始运行
    # 在这里可以添加任何调用指令    
    demo()

 

(二)关键字参数

  • 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
def demo1(name="张三",age=18):
    print(f"大家好,我是{name},今年{age}岁了")

demo1()

# 第二种方法
def demo1(name="张三",age=18):
    print(f"大家好,我是{name},今年{age}岁了")

if __name__ == '__main__':
    name="李四"
    age=20
    demo1(name,age)

-------------------------
大家好,我是张三,今年18岁了

(三)默认参数

  • 调用函数时,默认参数的值如果没有传入,则被认为是默认值。如果age没有被传入,下例会打印默认的age。
def demo1(name="张三",age=18):
    print(f"大家好,我是{name},今年{age}岁了")

demo1()
demo1(name="李四",age=20)

--------------------------------
大家好,我是张三,今年18岁了
大家好,我是李四,今年20岁了

(四)不定长参数

  • python自定义函数中有两种不定长参数,第一种是*XXX,在传入额外的参数时可以不用指明参数名,直接传入参数值即可。第二种是**XXX,这是类型返回的是字典,传入时需要指定参数名。
# 第一种
def demo2(*args):
    print(args)



# 第二种
def demo3(**kwargs):
    print("我的学员信息是",kwargs)

if __name__ == '__main__':
    demo2(1, 3, 5, 6, 98, 52, 6, 5)
    demo3(name="张三",age=20,heigth=187.5)

-------------------------------------------------
(1, 3, 5, 6, 98, 52, 6, 5)
我的学员信息是 {'name': '张三', 'age': 20, 'heigth': 187.5}
  • 加了一个星号*不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。加了两个星号的参数会以字典的形式导入,存放已命名的变量参数。
def demo4(num,*args,**kwargs):
    print(num)
    print(args)
    print(kwargs)

if __name__ == '__main__':
    demo4("张三", "李四", "王五", name="赵六", age="20")

-------------------------------------
张三
('李四', '王五')
{'name': '赵六', 'age': '20'}

三、函数的返回值作用

  • return语句【表达式】退出函数
def demo1():
    for i in range(1,10):
        return i

print(demo1())
def demo2():
    list = []
    for i in range(1,10):
        list.append(i)
    return list

if __name__ == '__main__':

    print(demo2())

---------------------------------
1
[1, 2, 3, 4, 5, 6, 7, 8, 9]

四、变量作用域

  • 一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
  • 变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。
  • 全局变量
num = 10          #全局变量
def demo():
    result = num+20
    print(result)
demo()

-------------------------
30
  • 局部变量
def demo2():
    global num           # 声明num为全局变量
    num = 10             # 局部变量
demo2()
result = num +10

print(result)

------------------------
20

五、函数的嵌套使用

  • 所谓函数嵌套调用指的是一个函数里面又调用了另外一个函数
def demo1():
    print("我是demo1函数")

def demo2():
    print("demo2函数开始执行")
    demo1()
    print("demo2函数结束执行")

if __name__ == '__main__':
    demo2()

----------------------------
demo2函数开始执行
我是demo1函数
demo2函数结束执行

 

标签:__,入门,函数,demo1,print,def,name
From: https://www.cnblogs.com/LoLong/p/16747754.html

相关文章

  • 【C语言初级】使用函数求闰年
    想求闰年,首先得了解闰年的规则:普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如19......
  • EXCLE SUMIF 函数使用
    sumif函数主要是要理解并正确填写Range、Criteria、Sum_range参数,具体的操作步骤如下  Range求和的范围  Criteria需要匹配的键值  Sum_range 求和的......
  • 窗口函数专题
    窗口函数之“最大/最小”问题,可和groupby互相改写。力扣1070:selectdistinctproduct_id,yearasfirst_year,quantity,pricefrom(select*,rank()over(......
  • Spring MVC入门(十一):注解配置SpringMVC
    构建1个maven项目导入依赖<packaging>war</packaging><dependencies><!--SpringMVC--><dependency><groupId>org.springframework</......
  • Spring MVC入门(十):异常处理
    异常处理简介SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolverHandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionRe......
  • Spring MVC入门(八):文件上传下载
    文件上传下载导入文件上传所需的依赖<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</versio......
  • Spring MVC入门(七):HttpMessageConverter
    简介HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,Req......
  • Spring MVC入门(五):视图
    视图简介SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户SpringMVC视图的种类很多,默认有转发视图和重定向视图当工程引入jstl的依赖,转发视图......
  • 网络字节序与主机字节序的转换函数实践
    字节序基础概念字节序,顾名思义,指字节在内存中存储的顺序。比如一个int32_t类型的数值占用4个字节,这4个字节在内存中的排列顺序就是字节序。字节序有两种:(1)小端字节序(Littl......
  • Spring MVC入门(四):域对象共享数据
    使用ServletAPI向request域对象共享数据#后端:向request域对象中添加数据,并转发到success页面@RequestMapping("/testServletAPI")publicStringtestServletAPI(HttpServle......