楼主: cyu107
2070 4

[数据挖掘理论与案例] Python基础教程之 函数 [推广有奖]

  • 4关注
  • 4粉丝

副教授

13%

还不是VIP/贵宾

-

威望
0
论坛币
24652 个
通用积分
11.6801
学术水平
52 点
热心指数
55 点
信用等级
46 点
经验
11563 点
帖子
245
精华
1
在线时间
623 小时
注册时间
2012-11-4
最后登录
2024-1-3

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Python基础教程之 函数

函数最重要的目的是方便我们重复使用相同的一段程序。

将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

函数的定义

首先,我们要定义一个函数, 以说明这个函数的功能。

1

  

2

  

3

def square_sum(a,b):

  

    c = a**2 + b**2

  

    return c

这个函数的功能是求两个数的平方和。

首先,def,这个关键字通知python:我在定义一个函数。square_sum是函数名。

括号中的a, b是函数的参数,是对函数的输入。参数可以有多个,也可以完全没有(但括号要保留)。

我们已经在循环和选择中见过冒号和缩进来表示的隶属关系。

1

  

2

  

3

c = a**2 + b**2        # 这一句是函数内部进行的运算

  

return c               # 返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用returnreturn可以返回多个值,以逗号分隔。相当于返回一个tuple(定值表)

  

return a,b,c          # 相当于 return (a,b,c)

在Python中,当程序执行到return的时候,程序将停止执行函数内余下的语句。return并不是必须的,当没有return, 或者return后面没有返回值时,函数将自动返回None。None是Python中的一个特别的数据类型,用来表示什么都没有,相当于C中的NULL。None多用于关键字参数传递的默认值。

函数调用和参数传递

定义过函数后,就可以在后面程序中使用这一函数

print square_sum(3,4)

Python通过位置,知道3对应的是函数定义中的第一个参数a, 4对应第二个参数b,然后把参数传递给函数square_sum。

(Python有丰富的参数传递方式,还有关键字传递、表传递、字典传递等,基础教程将只涉及位置传递)

函数经过运算,返回值25, 这个25被print打印出来。

我们再看下面两个例子

1

  

2

  

3

  

4

  

5

  

6

  

7

  

8

  

9

  

10

  

11

  

12

  

13

a = 1

  

def change_integer(a):

  

    a = a + 1

  

    return a

  

print change_integer(a)

  

print a

  

#===(Python "#" 后面跟的内容是注释,不执行 )

  

b = [1,2,3]

  

def change_list(b):

  

    b[0] = b[0] + 1

  

    return b

  

print change_list(b)

  

print b

第一个例子,我们将一个整数变量传递给函数,函数对它进行操作,但原整数变量a不发生变化。

第二个例子,我们将一个表传递给函数,函数进行操作,原来的表b发生变化。

对于基本数据类型的变量,变量传递给函数后,函数会在内存中复制一个新的变量,从而不影响原来的变量。(我们称此为值传递)

但是对于表来说,表传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表的操作将在原有内存中进行,从而影响原有变量。 (我们称此为指针传递)

总结

1

  

2

  

3

def function_name(a,b,c):

  

    statement

  

    return something  # return不是必须的

函数的目的: 提高程序的重复可用性。

return     None

通过位置,传递参数。

基本数据类型的参数:值传递

表作为参数:指针传递


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python基础教程 Python基础 python 基础教程 something python基础教程 python培训班 python函数

已有 1 人评分经验 学术水平 热心指数 信用等级 收起 理由
狂热的爱好者 + 60 + 1 + 1 + 1 鼓励积极发帖讨论

总评分: 经验 + 60  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
renda_QQ 发表于 2014-7-8 08:37:14 |只看作者 |坛友微信交流群
hao ,ding

使用道具

藤椅
tuling56 发表于 2014-7-8 08:42:13 |只看作者 |坛友微信交流群
函数的结束是以格式控制结束的,不再缩进,再加上这一点就更好了

使用道具

板凳
gyqznufe 发表于 2014-7-8 09:38:28 |只看作者 |坛友微信交流群
嗯,很想学,但觉得离自己好远好远,力不从心啊!

使用道具

报纸
henry_l 发表于 2015-3-26 18:39:15 |只看作者 |坛友微信交流群
多谢分享:)

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 01:54