美文网首页
Python杂笔1

Python杂笔1

作者: ayusong870 | 来源:发表于2020-05-09 13:52 被阅读0次

    PS:以下内容针对python3

    1. 数学操作符,优先级由高到低:

    操作符 操作 例子 求值为
    ** 指数 2 ** 3 8
    % 取模/取余数 22 % 8 6
    // 整除/商数取整 22 // 8 2
    / 除法 22 / 8 2.75
    * 乘法 3 * 5 15
    - 减法 5 - 2 3
    + 加法 2 + 2 4

    2. input()函数:

    函数等待用户在键盘上输入一些文本,并按下回车键。 

    myName = input() 
    

    3. IF控制语句:

    if name == 'Mary':
          print('Hello Mary') 
    if password == 'swordfish':
          print('Access granted.') 
    elif age < 12:
          print('You are not Alice, kiddo.') 
    else:
          print('Wrong password.')
    

    4. While循环语句

    spam = 0 
    while spam < 5:
         print('Hello, world.')
         spam = spam + 1 
    name = ''
    while name != 'your name':
         print('Please type your name.')
         name = input()
    print('Thank you!')  
    

    5. For循环和range语句:

    print('My name is')
    for i in range(5):
         print('Jimmy Five Times (' + str(i) + ')') 
    for i in range(12, 16):
         print(i)
    for i in range(0, 10, 2):
         print(i)
    for i in range(5, -1, -1):
         print(i)
    

    6. 函数定义:

    def hello(name):
          print('Hello ' + name) 
    hello()
    

    7. global语句:

    如果需要在一个函数内修改全局变量,就使用 global 语句。如果在函数的顶部有global eggs 这样的代码,它就告诉 Python,“ 在这个函数中,eggs 指的是全局变量,所以不要用这个名字创建一个局部变量。”例如:

    def spam():
         global eggs
         eggs = 'spam'
    eggs = 'global' 
    spam() 
    print(eggs)  
    

    8. 异常处理:

    def spam(divideBy):
         try:
             return 42 / divideBy
         except ZeroDivisionError:
             print('Error: Invalid argument.')  
    print(spam(2))
    print(spam(12))
    print(spam(0)) 
    print(spam(1) 
    21.0
    3.5
    Error: Invalid argument. 
    None
    42.0
    

    9. 列表:

    >>> [1, 2, 3]
    [1, 2, 3] 
    >>> ['cat', 'bat', 'rat', 'elephant'] 
    ['cat', 'bat', 'rat', 'elephant']
    >>> ['hello', 3.1415, True, None, 42] 
    ['hello', 3.1415, True, None, 42]  
    >>> spam = ['cat', 'bat', 'rat', 'elephant'] 
    >>> spam 
    ['cat', 'bat', 'rat', 'elephant']
    

    下标

    >>> spam = [['cat', 'bat'], [10, 20, 30, 40, 50]] 
    >>> spam[0] 
    ['cat', 'bat'] 
    >>> spam[0][1] 
    'bat' 
    >>> spam[1][4] 
    50 
    

    负下标:

    >>> spam = ['cat', 'bat', 'rat', 'elephant'] 
    >>> spam[-1] 
    'elephant' 
    >>> spam[-3] 
    'bat'
    

    切片:

    >>> spam = ['cat', 'bat', 'rat', 'elephant'] 
    >>> spam[0:4] 
    ['cat', 'bat', 'rat', 'elephant'] 
    >>> spam[1:3] 
    ['bat', 'rat']
     >>> spam[0:-1]
    ['cat', 'bat', 'rat']
    >>> spam = ['cat', 'bat', 'rat', 'elephant'] 
    >>> spam[:2] 
    ['cat', 'bat'] 
    >>> spam[1:] 
    ['bat', 'rat', 'elephant'] 
    >>> spam[:] 
    ['cat', 'bat', 'rat', 'elephant']
    

    连接复制:

    >>> [1, 2, 3] + ['A', 'B', 'C'] 
    [1, 2,  3,  'A',  'B',  'C'] 
    >>> ['X', 'Y', 'Z'] * 3 
    ['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z'] 
    >>> spam = [1, 2, 3] 
    >>> spam = spam + ['A', 'B', 'C'] 
    >>> spam 
    [1, 2, 3, 'A', 'B', 'C']
    

    删除

    >>> spam = ['cat', 'bat', 'rat', 'elephant'] 
    >>> del spam[2] 
    >>> spam 
    ['cat', 'bat', 'elephant'] 
    >>> del spam[2] 
    >>> spam
     ['cat', 'bat']
    

    In和not in

    >>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas'] 
    True
    >>> 'howdy' not in ['hello', 'hi', 'howdy', 'heyas']
    False 
    

    多重赋值:

    >>> cat = ['fat', 'black', 'loud'] 
    >>> size, color, disposition = cat
    

    增强的赋值操作符

    增强的赋值语句 等价的赋值语句
    spam += 1 spam = spam + 1
    spam -= 1 spam = spam - 1
    spam *= 1 spam = spam * 1
    spam /= 1 spam = spam / 1
    spam %= 1 spam = spam % 1

    Index方法:

    >>> spam = ['hello', 'hi', 'howdy', 'heyas'] 
    >>> spam.index('hello') 
    0    
    

    用 list()和 tuple()函数来转换类:

    >>> tuple(['cat', 'dog', 5]) 
    ('cat', 'dog', 5) 
    >>> list(('cat', 'dog', 5)) 
    ['cat', 'dog', 5] 
    >>> list('hello') 
    ['h', 'e', 'l', 'l', 'o']   
    

    引用:

    >>> spam = [0, 1, 2, 3, 4, 5]
    >>> cheese = spam
    >>> cheese[1] = 'Hello!' 
    >>> spam 
    [0, 'Hello!', 2, 3, 4, 5] 
    >>> cheese
    [0, 'Hello!', 2, 3, 4, 5] 
    

    ** copy 模块的 copy()和 deepcopy()函数:**

    >>> import copy 
    >>> spam = ['A', 'B', 'C', 'D'] 
    >>> cheese = copy.copy(spam) 
    >>> cheese[1] = 42
     >>> spam 
    ['A', 'B', 'C', 'D'] 
    >>> cheese 
    ['A', 42, 'C', 'D'] 
    

    deepcopy将复制列表中包含的列表

    10. 字典类型数据:

    >>> myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'} 
    >>> myCat['size'] 'fat' 
    >>> 'My cat has ' + myCat['color'] + ' fur.' 
    'My cat has gray fur.' 
    

    ** keys()、values()和 items()方法 **

    >>> spam = {'color': 'red', 'age': 42} 
    >>> for v in spam.values():
             print(v)  
    red 
    42  
    >>> for k in spam.keys():
             print(k)  
    color 
    Age
     >>> for i in spam.items():
             print(i)  
    ('color', 'red') 
    ('age', 42) 
    

    字典的get方法:

    >>> picnicItems = {'apples': 5, 'cups': 2} 
    >>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.' 
    'I am bringing 2 cups.' 
    >>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.' 
    'I am bringing 0 eggs.'
    

    字典的setdefault()方法

    >>> spam = {'name': 'Pooka', 'age': 5} 
    >>> spam.setdefault('color', 'black') 
    'black' 
    >>> spam 
    {'color': 'black', 'age': 5, 'name': 'Pooka'} 
    >>> spam.setdefault('color', 'white') 
    'black'
     >>> spam {'color': 'black', 'age': 5, 'name': 'Pooka'} 
    

    漂亮打印
    如果程序中导入 pprint 模块,就可以使用 pprint()和pformat()函数,它们将“漂亮 打印”一个字典的字。如果想要字典中表项的显示比 print()的输出结果更干净,这就有用了。

    import pprint 
    message = 'It was a bright cold day in April, and the clocks were striking thirteen.' 
    count = {}  
    for character in message:
         count.setdefault(character, 0)
         count[character] = count[character] + 1  
    pprint.pprint(count)
    

    当程序运行时,输出看起来更干净,键排过序。

    {' ': 13, 
     ',': 1, 
     '.': 1, 
     'A': 1, 
     'I': 1, 
     'a': 4, 
     'b': 1, 
     'c': 3, 
     'd': 3, 
     'e': 5, 
     'g': 2, 
     'h': 3, 
     'i': 6, 
     'k': 2, 
     'l': 3, 
     'n': 4, 
     'o': 2,  
     'p': 1, 
     'r': 5, 
     's': 3, 
     't': 6, 
     'w': 2, 
     'y': 1}  
    

    如果字典本身包含嵌套的列表或字典,pprint.pprint()函数就特别有用。如果希望得到漂亮打印的文本作为字符串,而不是显示在屏幕上,那就调用 pprint.pformat()。下面两行代码是等价的:

    pprint.pprint(someDictionaryValue)
    print(pprint.pformat(someDictionaryValue)) 
    

    11. Public,private,protect

    java的顶级对象是类,所有的权限都是相对于类(对象)的成员变量/方法来说的,但Python的顶级对象还包括变量和函数,所以权限就有点不一样了。在类中,默认的是public,私有的在前面加两个下划线,保护的加一个下划线。

    相关文章

      网友评论

          本文标题:Python杂笔1

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