ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-02-05 10:44:30  阅读:231  来源: 互联网

标签:10 mylist 函数 Python 函数调用 参数 print


本人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的个数就是函数返回值的个数,数据类型可以不相同

 

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!
 

yty_7 发布了18 篇原创文章 · 获赞 2 · 访问量 1642 私信 关注

标签:10,mylist,函数,Python,函数调用,参数,print
来源: https://blog.csdn.net/yty_7/article/details/104179005

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有