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

yipeiwu_com5年前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程序设计有所帮助。

相关文章

详解Python中的分组函数groupby和itertools)

具体代码如下所示: from operator import itemgetter #itemgetter用来去dict中的key,省去了使用lambda函数 from iterto...

pygame实现俄罗斯方块游戏(AI篇1)

pygame实现俄罗斯方块游戏(AI篇1)

上次更新到pygame实现俄罗斯方块游戏(基础篇3) 现在继续 一、定义玩家类 定义玩家类是为了便于进行手动和机器模式或各种不同机器人模式的混合使用,增加代码扩展性。 可以先定义一个玩家...

pyqt5之将textBrowser的内容写入txt文档的方法

如下所示: try: StrText = self.textBrowser.toPlainText() qS = str(StrText)...

python 经典数字滤波实例

python 经典数字滤波实例

数字滤波分为 IIR 滤波,和FIR 滤波。 FIR 滤波: import scipy.signal as signal import numpy as np import pyla...

python实现广度优先搜索过程解析

广度优先搜索 适用范围: 无权重的图,与深度优先搜索相比,深度优先搜索法占内存少但速度较慢,广度优先搜索算法占内存多但速度较快 复杂度: 时间复杂度为O(V+E),V为顶点数,E为边...