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

    • 认识函数

    如果有这样一个需求让我们写一段代码来计算一个字符串的长度并打印出来,我们可以这样写:

    1 s = "123456"
    2 num = 0
    3 for i in s:
    4     num += 1
    5 print(num)

    那么我们现在又有了一个新的字符串,也需要计算长度那么我们是不是又要把这段代码写一遍,这样不仅仅降低我们的开发效率又会大量的重复代码,像这样多次用到的代码我们可以把它封装为一个函数。

    1 def my_len(s):  # 定义函数
    2     num = 0
    3     for i in s:
    4         num += 1
    5     print(num)
    6 
    7 
    8 s = "123456"
    9 my_len(s)  # 调用函数
    • 函数的定义与调用

    函数的定义

    1 def+空格+函数名+小括号+冒号
    2     缩进+函数体
    3 
    4 
    5 
    6 举例:
    7 def fun():
    8     print("这是一个函数")

    函数的调用

    1 函数名+小括号
    2 
    3 
    4 例如:
    5 func()
    •  函数的返回值

    return关建字:

        return是一个关键字,“返回”的意思,在函数中写在函数后边的叫做函数的返回值。

    函数没有返回值的情况:

      只写一个return时:

    1 def fun():
    2     return
    3 print(fun())
    4 # 结果
    5 # None

      写return None时:

    1 def fun():
    2     return None
    3 print(fun())
    4 # 结果
    5 # None

       不写return时:

    1 def fun():
    2     pass
    3 print(fun())
    4 # 结果
    5 # None

    函数有返回值时:

      函数有一个返回值时:

    1 def fun():
    2     return 1
    3 print(fun())
    4 # 结果
    5 # 1

       函数有多个返回值时:

    1 def fun():
    2     return 1, 2, 3, 4
    3 print(fun())
    4 # 结果
    5 # (1, 2, 3, 4)
    • 函数的参数

    函数的形参和实参:

      形参:函数定义时的参数。

      实参:函数调用时传递的参数。

    1 # 定义函数
    2 def my_len(s):  # s为形参
    3     num = 0
    4     for i in s:
    5         num += 1
    6     print(num)
    7 # 调用函数
    8 my_len("123456")  # "123456"为实参

     位置参数:

    1 # 实参的角度:
    2 #     func('清华','北大')                     #  位置参数
    3 #     func(msg = '清华',school = '东莞')    # 关键字参数
    4 #     func('清华',school='清华')            #  混合参数
    5 # 
    6 # 形参的角度:
    7 #     def fucn(msg,school)                    # 位置参数
    8 #     def func(school='清华')                 # 默认参数
    9 #     def func(msg,school='清华')             # 混合参数

    函数参数的规则:

      函数形参的规则 位置参数在 默认参数前边

      函数形实参的规则 位置参数 在关键字参数前边

  • 相关阅读:
    github上十二款最著名的Android播放器开源项目
    ReactiveX/RxJava文档中文版
    腾讯开源的Android UI框架——QMUI Android
    android EventBus的简单使用
    android EventBus的简单使用
    MVP实战心得—封装Retrofit2.0+RxAndroid+RxBus
    动态合并Repeater控件数据列
    动态合并GridView数据行DataRow的列
    找出1至10范围奇数
    判断某元素是否在Array中
  • 原文地址:https://www.cnblogs.com/jiayunlong/p/10251818.html
Copyright © 2011-2022 走看看