杨桃的Python基础教程——第7章:Python函数(一)函数概述、函数调用

本人CSDN博客专栏:https://blog.csdn.net/yty_7
Github地址:https://github.com/yot777/Python-Primary-Learning

7.1 函数概述

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。

Python提供了许多内建函数,比如print(),也可以自己创建函数。

创建函数的语法:

def 函数名 (参数名):            #注意def关键字和参数名的括号后必须有冒号

   函数体

   return [返回值]                 #函数的返回值可以为(类似于Java的void),也可以为1个或n个变量

调用函数的语法:

函数名(参数值)

变量1, 变量2, ...变量n = 函数名(参数值)     #变量1, 变量2, ...变量n的个数就是函数返回值的个数,数据类型可以不相同

Python函数调用和返回值举例:

def funcPara(m):   
    n = 5 + m
    s = 3 * n
    t = s - 6
    q = "Hello"*3
    return n,s,t,q

if __name__ == '__main__':
	#调用funcPara(m)函数并且输入的参数m的值为10,返回4个变量a,b,c,d
	#a,b,c,d的顺序和funcPara(m)函数返回值的顺序n,s,t,q一一对应	
        a,b,c,d = funcPara(10)
	#变量a对应funcPara(m)函数里面的n,执行n = 5 + m的计算
	print("a=",a) 
	#变量b对应funcPara(m)函数里面的s,执行s = 3 * n的计算
	print("b=",b)
	#变量c对应funcPara(m)函数里面的t,执行t = s - 6的计算
	print("c=",c)
	#变量d对应funcPara(m)函数里面的q,执行q = "Hello"*3的计算
	print("d=",d)	

运行结果:
a= 15
b= 45
c= 39
d= HelloHelloHello

上面这个例子请初学者反复学习,揣摩,一定要掌握函数参数、变量、返回值的关系。

7.2 函数调用——传递不可变参数

不可变参数:类似C++的值传递,如整数、字符串、元组。

调用fun(a)的时候,传递的只是a的值,没有影响a对象本身。在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响a本身。

Python传递不可变参数举例:

def ChangeInt(n):
    n = 10
    return n
a = 2
print(a)
print(ChangeInt(a))
print(a)

运行结果:
2
10
2

Java传递不可变参数举例:

public class Test6 {
  public static void main(String[] args) {
    int a = 2;
    System.out.println(a);
    System.out.println(ChangeInt(a));
    System.out.println(a);
  }
  public static int ChangeInt(int n){
    n = 10;
    return n;
  }
}

运行结果:
2
10
2

7.3 函数调用——传递可变参数

可变类型参数:类似C++的引用传递,如 列表,字典。如fun(la),则是将la真正的传过去,修改后fun外部的la也会受影响

Python传递可变参数举例:

def ChangeList(mylist):
   mylist.append([99]);
   print(mylist)
   return          #ChangeList()函数无返回值
mylist = [10,20];
print(mylist)
ChangeList(mylist)
print(mylist)

运行结果:
[10, 20]
[10, 20, [99]]
[10, 20, [99]]

参考教程:

廖雪峰的Python教程

https://www.liaoxuefeng.com/wiki/1016959663602400

廖雪峰的Java教程

https://www.liaoxuefeng.com/wiki/1252599548343744

Python3 教程 | 菜鸟教程
https://www.runoob.com/python3/
 

如果您觉得本篇本章对您有所帮助,欢迎关注、评论、点赞!Github欢迎您的Follow、Star!
 

发布了25 篇原创文章 · 获赞 3 · 访问量 2161

猜你喜欢

转载自blog.csdn.net/yty_7/article/details/104179005
今日推荐