Python入门基础语法之序列、字典、函数、递归

人生苦短,我选Python
Python自学之路,任重而道远

序列

>>> tuple4 = (1.3,3.2,2.3)
>>> list(enumerate(tuple4))
[(0, 1.3), (1, 3.2), (2, 2.3)]

>>> a = [1,2,3,4,5,6,7,8]
>>> b = [6,7,8,9,10]
>>> list(zip(a,b))
[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

字典

dict()字典工厂函数
>>> dict3 = dict(((1,'one'),(2,'two'),(3,'three')))
>>> dict3
{1: 'one', 2: 'two', 3: 'three'}
>>> dict3[1]
'one'   
创建和访问字典
>>> dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible'}
>>> print(dict1['李宁'])
一切皆有可能

函数

定义:
    无参>>> def firstFunction():
                print('第一个函数')
    带参>>> def secondFunction(name):
                print('hello: '+ name)
        >>> def thirdFunction(num1,num2):
                result = num1 + num2
                print(result)
    带返回值>>> def add(num1,num2):
                    return (num1 + num2)
形参和实参
关键字参数
    >>> def saySomething(name,words):
        print(name + ':' +words)
    >>> saySomething(words='words',name='hello')
        hello:words
默认值参数
    >>> def saySome(name='苍井空',words='是我老师'):
        print(name + ':' + words)
    >>> saySome()
        苍井空:是我老师
    >>> saySome('松岛枫')
        松岛枫:是我老师
搜集参数(可变参数)
    >>> def test(*params):
        print('参数长度为:',len(params))
        print('第二个参数是:',params[1])  
    >>> test(1,'sb',3.14,5,6)
        参数长度为: 5
        第二个参数是: sb
函数与过程
    函数:有返回值
    过程:无返回值
返回值
    >>> def back():
        return 1,'sb',3.14
    >>> back()

内嵌函数和闭包

    global关键字
        >>> count = 5
        >>> def myFunc():
            global count
            count = 10
            print(count)
        >>> myFunc()
            10
        >>> print(count)
            10
    内嵌函数(内部函数)
        >>> def fun1():
            print('fun1()被调用了。')
            def fun2():
                print('fun2()被调用了。')
            fun2()  
        >>> fun1()
        fun1()被调用了。
        fun2()被调用了。
    闭包
        >>> def Funx(x):
                def funy(y):
                    return x * y
                return funy

        >>> Funx(2)(3)
        6   
    nonlocal:强制变量为非局部变量

lambda表达式(匿名函数)

    作用:
    1.python写一写执行脚本时,使用lambda就可以省下定义
    函数过程,比如说我们只是需要写个简单的脚本来管理
    服务器时间,我们就不需要专门定义一个函数然后再写调用,
    使用lambda就可以使得代码更加精简
    2.对于一些比较抽象并且整个程序执行下来只需要调用一
    两次的函数,有时候给函数起个名字也是比较头疼的问题,
    使用lambda就不需要考虑命名的问题了
    3.简化代码的可读性,由于普通的屌丝函数阅读经常要跳到开头
    def定义部分,使用lambda函数可以省去这样的步骤
    >>> def ds(x):
            return 2 * x + 1

    >>> ds(4)
    9
    对比:
    >>> a = lambda x : 2 * x + 1
    >>> a(5)
    11
    >>> g = lambda x,y : x + y
    >>> g(2,3)
    5

两个常用的内置函数(BIF)

    filter
    取出所有奇数
    >>> def odd(x):
            return x % 2
    >>> temp = range(10)
    >>> show = filter(odd,temp)
    >>> list(show)
    [1, 3, 5, 7, 9]
    简化:
    >>> list(filter(lambda x : x % 2,range(10)))
    [1, 3, 5, 7, 9]
    map
    >>> list(map(lambda x : x * 2,range(10)))
    [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
递归
    求10的阶层
    >>> def factorial(x):
        if x == 1:
            return 1
        return x * factorial(x - 1)
    >>> factorial(10)
    3628800

你可能感兴趣的:(python,python入门,python语言入门-类,python,python入门)