python开发之函数定义实例分析

yipeiwu_com6年前Python基础

本文实例讲述了python开发之函数定义方法。分享给大家供大家参考,具体如下:

下面是我做的几个用列:

#python中的函数定义,使用和传参
def_str = '''\
  python中的函数以如下形式声明:
  def 函数名称([参数1,参数2,参数3......]):
    执行语句
  如:
  def helloWorld():
    print('hello')
  if __name__ == '_main__':
    helloWorld()
  输出:hello
  '''
print(def_str)
#下面进行举例说明
def helloWorld():
  print('输出:hello')
if __name__ == '__main__':
  helloWorld()
print('''\
  ################################################
  函数可以带参数和返回值,参数将按从左到右的匹配,
  参数可设置默认值,当使用函数时没给相应的参数时,
  会按照默认值进行赋值
  ################################################
  ''')
#定义一个方法:x的y次方
def myMethod(x,y):
  return x**y
def fib(n):
  a , b = 0 , 1
  while a < n:
    print('a, end = ')
    a , b = b , a + b
  print()
#获取一个新的数组
#@param oldList 原数组
#@param length 要添加的长度
def getList(oldList,length):
  if length > 0:
    for i in range(0,length):
      oldList.append(i)
    return oldList
  else:
    return '你输入的长度小于0'
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
  while True:
    ok = input(prompt)
    if ok in ('y', 'ye', 'yes'):
      return True
    if ok in ('n', 'no', 'nop', 'nope'):
      return False
    retries = retries - 1
    if retries < 0:
      raise IOError('refusenik user')
    print(complaint)
if __name__ == '__main__':
  x = 3
  y = 4
  n = 2000
  print(x , '的' , y , '次方(' ,x ,'**' , y ,') = ' , myMethod(x,y))
  print('函数fib(n),当n =' ,n)
  fib(n)
  print(getList(['begin'],-10))
  ask_ok('y')

运行效果如下:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
  python中的函数以如下形式声明:

  def 函数名称([参数1,参数2,参数3......]):
    执行语句

  如:

  def helloWorld():
    print('hello')

  if __name__ == '_main__':
    helloWorld()

  输出:hello
  
输出:hello
  ################################################
  
  函数可以带参数和返回值,参数将按从左到右的匹配,
  参数可设置默认值,当使用函数时没给相应的参数时,
  会按照默认值进行赋值

  ################################################
的 4 次方( 3 ** 4 ) = 81
函数fib(n),当n = 2000
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 
你输入的长度小于0
y输出:hello
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Traceback (most recent call last):
 File "E:/Python33/python_workspace/test_function.py", line 80, in <module>
  ask_ok('y')
 File "E:/Python33/python_workspace/test_function.py", line 69, in ask_ok
  raise IOError('refusenik user')
OSError: refusenik user
>>>

希望本文所述对大家Python程序设计有所帮助。

相关文章

解决pandas无法在pycharm中使用plot()方法显示图像的问题

最近用了pycharm,感觉还不错,就是pandas中Series、DataFrame的plot()方法不显示图片就给我结束了,但是我在ipython里就能画图 以前的代码是这样的...

Python实现TCP通信的示例代码

使用socket实现tcp通信,需导入socket模块 1、服务端 主要步骤: (1)创建socket:socket.socket(family=AF_INET, type=SOCK_S...

Apache部署Django项目图文详解

Apache部署Django项目图文详解

前言 Django项目本身就可以启动运行,为什么还需要部署到Apache或者Nginx上呢?初学者都会遇到这个问题,我们来看看官方解释:It's intended only for us...

用Python制作简单的朴素基数估计器的教程

假设你有一个很大的数据集,非常非常大,以至于不能全部存入内存。这个数据集中有重复的数据,你想找出有多少重复的数据,但数据并没有排序,由于数据量太大所以排序是不切实际的。你如何来估计数据集...

python异步实现定时任务和周期任务的方法

一. 如何调用 def f1(arg1, arg2): print('f1', arg1, arg2) def f2(arg1): print('f2', arg1)...