zoukankan      html  css  js  c++  java
  • 内置函数+面向对象编程

    内置函数

    掌握

    1. bytes()
    2. chr()/ord()
    3. divmod()
    4. enumerate()
    5. eval()
    6. hash()
    
    1. bytes()解码字符,将字符转换为二进制
    res = 'hello 世界'.encode('utf-8')
    print(res)
    
    b'hello xe4xb8x96xe7x95x8c'
    
    res = bytes('hello 世界',encoding='utf-8')
    print(res)
    
    b'hello xe4xb8x96xe7x95x8c'
    
    1. chr()/ord()

      chr():将[0-256]的整数转化为ASCII码对应字符
      ord():将字符转换为对应数字

    print(chr(97))
    print(ord('a'))
    
    a
    97
    
    1. divmod() 分栏
    print(divmod(17,3))   # 返回(17//3,17%3)
    
    (5, 2)
    
    1. enumerate()

      以元组的形式返回迭代器对象的索引和对应值

    s = 'hello'
    for i in enumerate(s):
        print(i)
    
    (0, 'h')
    (1, 'e')
    (2, 'l')
    (3, 'l')
    (4, 'o')
    
    1. eval()

      把字符串转换为其他数据类型

    s = '2'
    lis = "[1,2,'3']"
    print(eval(s),type(eval(s)))
    print(eval(lis),type(eval(lis)))
    
    2 <class 'int'>
    [1, 2, '3'] <class 'list'>
    
    1. hash()

      判断是否可hash,可变数据类型为不可hash类型,不可变数据类型为可hash类型

    print(hash(2))
    
    2
    

    了解

    1. abs()
    2. all()
    3. any()
    4. bin()/oct()/hex()
    5. dir()
    6. frozenset()
    7. globals()/loacals()
    8. pow()
    9. round()
    10. slice()
    11. sum()
    12. import()
    
    1. abs()

      取绝对值

    print(abs(-12))
    
    12
    
    1. all()

      可迭代对象内元素全为真则返回True,否则返回False

    print(all([1,'2',3,0]))
    print(all([]))
    
    False
    True
    
    1. any()

      可迭代对象里面有一个元素为真,则返回True

    print(any([0,[],None,{},'',False]))
    
    False
    
    1. bin()/oct()/hex()

      bin():转化为二进制数

      oct():转化为八进制

      hex():转化为十六进制

    print(bin(20))
    print(oct(20))
    print(hex(20))
    
    0b10100
    0o24
    0x14
    
    1. dir()

      列举出模块所有功能

    import time
    
    print(dir(time))
    
    ['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']
    
    1. frozenset()

      不可变集合

    s = frozenset({1,2,'a','c'})
    print(s)
    s[1] = 3    # 报错,不可改变
    
    frozenset({1, 2, 'c', 'a'})
    
    
    
    ---------------------------------------------------------------------------
    
    TypeError                                 Traceback (most recent call last)
    
    <ipython-input-33-ef2c6686afe7> in <module>
          1 s = frozenset({1,2,'a','c'})
          2 print(s)
    ----> 3 s[1] = 3    # 报错,不可改变
    
    
    TypeError: 'frozenset' object does not support item assignment
    
    1. globals()/locals()

      查看全局变量/查看局部变量

    def f1(num):
        x = 10
        print(locals())
        print(num)
        
    num = 20
    f1(num)   
    # print(globals())
    
    {'x': 10, 'num': 20}
    20
    
    1. pow()

      pow(x, y[, z])返回的是x**y%z

    print(pow(2,10,3),2**10%3)
    print(pow(2,5),2**5)
    
    1 1
    32 32
    
    1. round()

      四舍五入

    print(round(3.4),round(3.5))
    
    3 4
    
    1. slice()

      实现切片slice(start,stop[,step])

    lis = [1,2,3,4,5,6,7]
    s1 = slice(0,3)
    s2 = slice(3,6,2)
    print(lis[s1])
    print(lis[s2])
    
    [1, 2, 3]
    [4, 6]
    
    1. sum()

      求和

    lis = [1,2,3,4,5,6,7]
    print(sum(lis))
    
    28
    
    1. __import__()

      通过字符串导入模块

    time = __import__('time')
    print(time.time())
    
    1560430597.1571605
    

    面向对象编程

    面向对象编程就是将程序封装成一个个函数,然后按照执行顺序进行调用,上一个函数的返回值作为下一个函数的参数传入

    就好比工厂生产一样,一步一步的工序,下一道工序要基于上一道工序来做处理,如果上一道工序出现问题,下一道工序就会受影响

    优点:将复杂的问题简单化,流程化

    缺点:扩展性差

  • 相关阅读:
    EF关联
    nopcommerce v3.9中文包
    Android Activity切换与Activity间数据交互
    C#多线程的用法9-Semaphore
    C#多线程的用法8-线程间的协作AutoResetEvent
    C#多线程的用法7-线程间的协作ManualResetEvent
    C#多线程的用法6-线程间的协作Mutex
    C#多线程的用法5-线程间的协作Monitor
    C#多线程的用法4-线程间的协作lock快捷方式
    C#多线程的用法3-线程间的协作Join
  • 原文地址:https://www.cnblogs.com/Hades123/p/11019552.html
Copyright © 2011-2022 走看看