python--函数

来源:互联网 发布:晋城网络 编辑:程序博客网 时间:2024/06/03 17:31

1.函数的定义

# this one is like your scripts with argvdef print_two(*args):    arg1, arg2 = args    print "arg1: %r, arg2: %r" % (arg1, arg2)# ok, that *args is actually pointless, we can just do thisdef print_two_again(arg1, arg2):    print "arg1: %r, arg2: %r" % (arg1, arg2)# this just takes one argumentdef print_one(arg1):    print "arg1: %r" % arg1# this one takes no argumentsdef print_none():    print "I got nothin'."#函数的调用print_two("Zed","Shaw")print_two_again("Zed","Shaw")print_one("First!")print_none()

注意事项如下:
1. 函数定义是以 def 开始的吗?
2. 函数名称是以字符和下划线 _ 组成的吗?
3. 函数名称是不是紧跟着括号 ( ?
4. 括号里是否包含参数?多个参数是否以逗号隔开?
5. 参数名称是否有重复?(不能使用重复的参数名)
6. 紧跟着参数的是不是括号和冒号 ): ?
7. 紧跟着函数定义的代码是否使用了 4 个空格的缩进 (indent)?冒号以下,使用 4 个空格缩进的行都是属于 这个函数的内容
8. 函数结束的位置是否取消了缩进 (“dedent”)?

2.函数返回

def secret_formula(started):    jelly_beans = started * 500    jars = jelly_beans / 1000    crates = jars / 100    return jelly_beans, jars, crates

可以返回一个值,也可以返回多个值。

3.一些函数

def break_words(stuff):    """This function will break up words for us."""    words = stuff.split(' ')    return wordsdef sort_words(words):    """Sorts the words."""    return sorted(words)def print_first_word(words):    """Prints the first word after popping it off."""    word = words.pop(0)    print worddef print_last_word(words):    """Prints the last word after popping it off."""    word = words.pop(-1)    print worddef sort_sentence(sentence):    """Takes in a full sentence and returns the sorted words."""    words = break_words(sentence)    return sort_words(words)def print_first_and_last(sentence):    """Prints the first and last words of the sentence."""    words = break_words(sentence)    print_first_word(words)    print_last_word(words)def print_first_and_last_sorted(sentence):    """Sorts the words then prints the first and last one."""    words = sort_sentence(sentence)    print_first_word(words)    print_last_word(words)

在之前用来做算术的 python 编译器里,用交互的方式和.py 作交流。

$ pythonPython 2.5.1 (r251:54863, Feb 6 2009, 19:02:12)[GCC 4.0.1 (Apple Inc. build 5465)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import ex25>>> sentence = "All good things come to those who wait.">>> words = ex25.break_words(sentence)>>> words['All', 'good', 'things', 'come', 'to', 'those', 'who', 'wait.']>>> sorted_words = ex25.sort_words(words)>>> sorted_words['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who']>>> ex25.print_first_word(words)All>>> ex25.print_last_word(words)wait.>>> wrodsTraceback (most recent call last):File "<stdin>", line 1, in <module>NameError: name 'wrods' is not defined>>> words['good', 'things', 'come', 'to', 'those', 'who']>>> ex25.print_first_word(sorted_words)All>>> ex25.print_last_word(sorted_words)who>>> sorted_words['come', 'good', 'things', 'those', 'to', 'wait.']>>> sorted_words = ex25.sort_sentence(sentence)>>> sorted_words['All', 'come', 'good', 'things', 'those', 'to', 'wait.', 'who']>>> ex25.print_first_and_last(sentence)Allwait.>>> ex25.print_first_and_last_sorted(sentence)Allwho>>> ^D$
0 0
原创粉丝点击