zoukankan      html  css  js  c++  java
  • 简说Python之函数

    就像平时玩的积木,函数就是一个个成块的积木,可以组合你想要的任何形状。

    Python的函数

    函数的简单调用

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    def printHello():
        print("hello world!")
        print("张盛东你来了")
        
    printHello()
    printHello()
    

    可以看到上述我调用了两次printHello()函数,另存为fun01.py,执行效果如下:

    G:Py>python fun01.py
    hello world!
    张盛东你来了
    hello world!
    张盛东你来了
    

    函数传参

    这里printHello(num)中括号内的内容,用于传递参数(argument)

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    def printHello(num):
        print("hello world!")
        print("张盛东你来了")
        print("带了",num,"个苹果")
        
    printHello(3)
    

    参数是可以传递多个,例如传递三个参数。如下:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    def printHello(num,name):
        print("hello world!")
        print("张盛东你来了")
        print("带了",num,"个苹果")
        print("叫了",name,"这位好朋友一起来吃")
        
    printHello(3,'胡轲')
    

    返回值

    定义一个函数,一般是有输入,处理过程,有输出。把它当做一个黑匣子,什么也看不清楚。然后输入几个值,返回一个结果。

    计算圆形面积

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import math
     
    def area_circle(r):
        print("你传入的半径是",r)
        S =  math.pi*r**2
        return  S
    r1 = 5
    S1 = area_circle(r1)
    print("半径为",r1,"的圆面积是",S1)
    

    得到的结果如下:

    G:Py>python fun04.py
    你传入的半径是 5
    半径为 5 的圆面积是 78.53981633974483
    

    变量作用域

    局部变量

    何为局部变量,就是变量只能在函数内使用,如果在外面调用的话,直接会出错。就拿area_circle()函数举例子。如下:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import math
     
    def area_circle(r):
        print("你传入的半径是",r)
        S =  math.pi*r**2
        return  S
    r1 = 5
    S1 = area_circle(r1)
    print("半径为",r1,"的圆面积是",S1)
    ####调用局部的变量r
    print(r)
    

    另存为fun05.py,执行效果如下:

    G:Py>python fun05.py
    你传入的半径是 5
    半径为 5 的圆面积是 78.53981633974483
    Traceback (most recent call last):
      File "fun05.py", line 13, in <module>
        print(r)
    NameError: name 'r' is not defined    ----->r是局部变量,不能在全局使用。
    

    全局变量

    可以在整个范围内使用。继续修改area_circle()函数。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import math
    
    ###### 这里r1是全局变量。
    
    def area_circle(r):
    	print(r1,"函数内的全局变量")
    	print("你传入的半径是",r)
    	S =  math.pi*r**2
    	return  S
    
    r1 = 5
    S1 = area_circle(r1)
    print(r1,"函数外的全局变量")
    print("半径为",r1,"的圆面积是",S1)
    

    很神奇的时候,函数内也可以读取r1的变量。效果如下:

    G:Py>python fun06.py
    5 函数内的全局变量
    你传入的半径是 5
    5 函数外的全局变量
    半径为 5 的圆面积是 78.53981633974483
    

    现在我们来修改这个,全局的函数变量会出现什么效果。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import math
    
    ###### 这里r1是全局变量。
    
    def area_circle(r):
    	r1 =10
    	print("函数内的全局变量", r1)
    	print("你传入的半径是",r)
    	S =  math.pi*r**2
    	return  S
    r1 = 5
    S1 = area_circle(r1)
    print(r1,"函数外的全局变量")
    print("半径为",r1,"的圆面积是",S1)
    

    另存为fun07.py,看看效果

    G:Py>python fun07.py
    函数内的全局变量 10                 ---->函数内,修改的不能带出
    你传入的半径是 5
    5 函数外的全局变量                  ---->函数外,r1还是5.
    半径为 5 的圆面积是 78.53981633974483
    
  • 相关阅读:
    Gradle构建模块化项目
    线程池的理解与应用
    Redis理解
    kafka监听出现的问题,解决和剖析
    shiro利用过期时间,解决用户冻结踢出问题
    信息系统的运行与维护包含的主要内容
    软件维护的内容是什么
    执行顺序
    Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
    公从号编程
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12497921.html
Copyright © 2011-2022 走看看