zoukankan      html  css  js  c++  java
  • python之初识函数

    一.函数的定义,函数名,函数体以及函数的调用

    定义:函数就是对具有一定功能的代码块的封装

    语法:
                def 函数名(形参列表):
                    函数体(代码块, return)
    #函数定义
    def mylen():
        """计算s1的长度"""
        s1 = "hello world"
        length = 0
        for i in s1:
            length = length+1
        print(length)
    
    #函数调用
    str_len = mylen()
    #因为没有返回值,此时的str_len为None
    print('str_len : %s'%str_len)

    1.return的用法:一旦遇到return,结束整个函数

    def ret_demo():
        print(111)
        return
        print(222)
    
    ret = ret_demo()
    print(ret)

    2,return 返回值:

    return 语句就是讲结果返回到调用的地方,并把程序的控制权一起返回

    程序运行到所遇到的第一个return即返回(退出def块),不会再运行第二个return。

    关于返回值:

    1.如果函数什么都不写, 不写return, 没有返回值. 得到的是None
    2.在函数中间或者末尾写return, 返回的是None
    3.在函数中写return 值. 返回一个值.
    4.在函数中可以返回多个返回值, return 值1, 值2, 值3...., 接收的是元组

    二.函数的参数

    #函数定义
    def mylen(s1):
        """计算s1的长度"""
        length = 0
        for i in s1:
            length = length+1
        return length
    
    #函数调用
    str_len = mylen("hello world")
    print('str_len : %s'%str_len)
    函数执行的时候给函数传递信息.
    *形参:函数声明的位置的变量
    *实参:函数调用的时候给的具体的值
    传参:把实参交给形参的过程


    传递多个参数

    
    

    参数可以传递多个,多个参数之间用逗号分割。

    def mymax(x,y):
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(10,20)
    print(ma)

    位置参数

      站在实参角度

        1.按照位置传值

    
    
    def mymax(x,y):
        #此时x=10,y=20
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(10,20)
    print(ma)
    
    

    2.按照关键字传值

    def mymax(x,y):
        #此时x = 20,y = 10
        print(x,y)
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(y = 10,x = 20)
    print(ma)

    3.位置、关键字形式混着用

    def mymax(x,y):
        #此时x = 10,y = 20
        print(x,y)
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(10,y = 20)
    print(ma)

     正确用法

          问题一:位置参数必须在关键字参数的前面

          问题二:对于一个形参只能赋值一次

        

      站在形参角度

        位置参数必须传值

    
    
    def mymax(x,y):
        #此时x = 10,y = 20
        print(x,y)
        the_max = x if x > y else y
        return the_max
    
    #调用mymax不传递参数
    ma = mymax()
    print(ma)
    
    #结果
    TypeError: mymax() missing 2 required positional arguments: 'x' and 'y'
    
    

    默认参数

        1.正常使用

          使用方法

          为什么要有默认参数:将变化比较小的值设置成默认参数

        2.默认参数的定义

    def stu_info(name,sex = "male"):
        """打印学生信息函数,由于班中大部分学生都是男生,
            所以设置默认参数sex的默认值为'male'
        """
        print(name,sex)
    
    
    stu_info('alex')
    stu_info('eva','female')
    
    默认参数


  • 相关阅读:
    二维材料根本停不下来
    So you've been rejected, now what? On appeals in peer-reviewed publications(From Wiley Exchanges)
    Android与服务器端数据交互(基于SOAP协议整合android+webservice)
    SOAP
    soap webservice
    WebService
    Restful Web Service初识
    Java IO 类
    就是这个味道!!!
    windows下taskkill命令简介
  • 原文地址:https://www.cnblogs.com/wxj1129549016/p/9445651.html
Copyright © 2011-2022 走看看