美文网首页
Python基础知识

Python基础知识

作者: 终小寒 | 来源:发表于2018-03-12 17:56 被阅读0次

    斐波那契数列(2.7)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    import time
    
    def fbis(num):
        result = [0,1]
        for i in range(num-2):
            result.append(result[-2]+result[-1])
        return result
    
    def main():
        result = fbis(10)
        fobj = open('result','w+')
        for i,num in enumerate(result):
            print u'第%d个数是:%d' % (i,num)
            fobj.write('%d\n'% num)
            time.sleep(1)
    
    if __name__ == '__main__':
        main()
    

    数据类型

    整数
    浮点数
    字符串

    字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

    如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:

    'I\'m \"OK\"!'
    

    表示的字符串内容是:

    I'm "OK"!
    

    Sequence类型簇

    List类型

    list是一种有序的集合,可以随时添加和删除其中的元素。

    list是一个可变的有序表,所以,可以往list中追加元素到末尾:
    >>> classmates.append('Adam')
    >>> classmates
    ['Michael', 'Bob', 'Tracy', 'Adam']
    
    也可以把元素插入到指定的位置,比如索引号为1的位置:
    >>> classmates.insert(1, 'Jack')
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
    
    要删除list末尾的元素,用pop()方法
    >>> classmates.pop()
    'Adam'
    >>> classmates
    ['Michael', 'Jack', 'Bob', 'Tracy']
    
    要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
    >>> classmates.pop(1)
    'Jack'
    >>> classmates
    ['Michael', 'Bob', 'Tracy']
    
    Tuple元组

    tuple一旦初始化就不能修改

    Dictionary类型
    Set类型

    条件判断

    if <条件判断1>:
        <执行1>
    elif <条件判断2>:
        <执行2>
    elif <条件判断3>:
        <执行3>
    else:
        <执行4>
    
    Input类型
    input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数
    s = input('birth: ')
    birth = int(s)
    if birth < 2000:
        print('00前')
    else:
        print('00后')
    
    循环
    for 循环
    sum = 0
    for x in range(101):
        sum = sum + x
    print(sum)
    
    while 循环
    sum = 0
    n = 99
    while n > 0:
        sum = sum + n
        n = n - 2
    print(sum)
    

    定义函数

    在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值

    函数的参数

    定义默认参数要牢记一点:默认参数必须指向不变对象!

    def add_end(L=None):
        if L is None:
            L = []
        L.append('END')
        return L
    
    变长参数

    元组变长参数

    def calc(*numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum
    

    字典变长参数

    >>> extra = {'city': 'Beijing', 'job': 'Engineer'}
    >>> person('Jack', 24, **extra)
    name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
    

    命名关键字参数

    如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种方式定义的函数如下:
    def person(name, age, *, city, job):
        print(name, age, city, job)
    
    和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
    
    调用方式如下:
    >>> person('Jack', 24, city='Beijing', job='Engineer')
    Jack 24 Beijing Engineer
    
    如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:
    def person(name, age, *args, city, job):
        print(name, age, args, city, job)
    
    命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错
    

    匿名函数

    print(lambda x,y:x-y)(3,4)
    

    错误调试

    try:
        print('try...')
        r = 10 / int('2')
        print('result:', r)
    except ValueError as e:
        print('ValueError:', e)
    except ZeroDivisionError as e:
        print('ZeroDivisionError:', e)
    else:
        print('no error!')
    finally:
        print('finally...')
    print('END')
    

    相关文章

      网友评论

          本文标题:Python基础知识

          本文链接:https://www.haomeiwen.com/subject/wvtnfftx.html