Python速过文档(二)

72 阅读2分钟

函数

函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”.

定义方式:

def one_function(x,y=2):
    pass
    

def 定义函数关键字.

one_function 函数名字.

x,y 形参.后接冒号表示换行.

若未确定函数要执行的事情,先用pass占位.

可以返回多个参数.

return x,y 实际是返回了一个.只是(x,y)的语法糖.

形参和实参的个数要对上.

形参可以有默认参数: 写法为y=2,但是需要学要必要参数的后面.

传递实参时,若是不按照位置去传递.则需要给定名字. 如 two_function(name = 'xiaoming',sex=0)

等等,参数还有更多的形式.

调用方式:

函数名(实参1,实参2,...)

执行后的值,是函数内部return 的值. 可以使用变量接收,作为执行的结果.

return 可以再次调用自己.但是传递不同的参数.来实现递归调用.

def fact(n):
    if n==1:
        return 1
    return n * fact(n - 1)

递归调用时,需要留有一个缺口,来结束执行. 否则导致死循环.

切片

list = [1,2,3,4,5,6,7,8]

[x:y:z]

x:表示开始切的值. 默认为0.即第一个 y:表示结束的值. 默认是list的长度. 因为不包括y值得本身. z:表示隔多个,切一次,默认为1

负数索引也可以进行切片.最后一位是-1

[-2:] 表示切list后两位. [-2:-1] 表示切倒数第二位.

同理,tuple 与 str 同理,都可以切片.

迭代 ()

迭代字典:

迭代字典的key. 默认就是迭代key
    for key in dic:
        print(key)
 
迭代字典的value
    for value in dic.values():
        print(value)

同时迭代key 和 value.
    for key,value dic.items():
        print(key,value)
        

字符串,列表,元组同理:

判断是否时可迭代对象:

    from collections.abc import Iterable
    isinstance(需要判断的对象,Iterable)
如果返回true,则表示是,反之不是.

如何实现C语言类似的for循环.

enumerate() 方法: 将可迭代对象传入,转化成index和value的形式.

for i, value in enumerate(['a','b','c','d','e','f','g']):
    print(i,value)