zoukankan      html  css  js  c++  java
  • Python 007- python的各种函数

    1.chr()、unichr()和ord()

    chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

    unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的。如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF;如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x110000。如果提供的参数不在允许的范围内,则会报一个ValueError的异常。

    ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。

    1 >>>ord('a')
    2 97
    3 >>> ord('b')
    4 98
    5 >>> ord('c')
    6 99

    2.getch()读取键盘输入字符

    1 import  msvcrt
    2 ch = msvcrt.getch()

    3.randrange()返回指定递增基数集合中的一个随机数

    1 import random
    2 
    3 # 输出 100 <= number < 1000 间的偶数
    4 print "randrange(100, 1000, 2) : ", random.randrange(100, 1000, 2)
    5 
    6 # 输出 100 <= number < 1000 间的其他数
    7 print "randrange(100, 1000, 3) : ", random.randrange(100, 1000, 3)

    4.assert

    python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。

    1 assert 1==1
    2 assert 2+2==2*2
    3 assert len(['my boy',12])<10
    4 assert range(4)==[0,1,2,3]

    5.transpose矩阵转置

     1 array([[[ 0,  1,  2],
     2         [ 3,  4,  5]],
     3 
     4        [[ 6,  7,  8],
     5         [ 9, 10, 11]]])
     6 
     7 arr1.transpose((1,0,2))
     8 array([[[ 0,  1,  2],
     9         [ 6,  7,  8]],
    10 
    11        [[ 3,  4,  5],
    12         [ 9, 10, 11]]])

    过程是怎样的?

    arr1.shape 应该是(2, 2, 4) 意为 2维,2*4矩阵

    arr1.transpose(*args) 里面的参数,可以这么理解,他是调换arr1.shape的顺序,咱来给arr1.shape标一下角标哈,(2[0], 2[1], 4[2])  [ ] 里是shape的索引,对吧, 

    transpose((1, 0, 2)) 的意思是 按照这个顺序 重新设置shape 也就是 (2[1], 2[0], 4[2])

    虽然看起来 变换前后的shape都是 2,2,4  , 但是问题来了,transpose是转置

    shape按照(1,0,2)的顺序重新设置了, array里的所有元素 也要按照这个规则重新组成新矩阵

    比如 8 在arr1中的索引是 (1, 0, 0)  那么按照刚才的变换规则,就是 (0, 1, 0) 看看跟你结果arr2的位置一样了

    6.any()与all()

    #any(x)判断x对象是否为空对象,如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true

    #all(x)如果all(x)参数x对象的所有元素不为0、''、False或者x为空对象,则返回True,否则返回False

    1 >>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
    2  True
    3  >>> all(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
    4  False
    5  >>> any(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
    6  True  
    7  >>> any(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
    8  True

     

  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/hustcser/p/8907740.html
Copyright © 2011-2022 走看看