• Python知识点


    寻求帮助

    dir(obj)       # 简单的列出对象obj所包含的方法
    help(obj.func) # 查询obj.func的具体介绍和用法

    测试类型的三种方法,推荐第三种

    if type(L) == type([]) : print("L is list")
    if type(L) == list: print("L is list")
    if isinstance(L, list): print("L is list")

    Python数据类型:hash类型、不hash类型

    # hash类型:即在原地不能改变的变量类型, 不可变类型。可利用hash函数查看其hash值,也可以作为字典的key
        "数字类型: int, float, decimal.Decimal, fractions.Fraction, complex"
        "字符串类型:str, bytes"
        "元组:tuple"
        "冻结集合:frozenset"
        "布尔类型:True, False"
        "None"
    # 不hash类型:原地可变类型:list、dict和set。它们不可以作为字典的key。
    re_patt = '^(w{3}).*::(?P<email>w+@w+.w+)::(?P<number>d+-d+-d+)'
    for item in resule_data:
        m = re.match(re_patt, item)
        if m is not None:
            print('*'*30)
            print(item)
            print("Email:" + m.group('email'))
            print('Number:' + m.group('number'))

    数字常量

    1234, -1234, 0, 99999999                          # 整数  
    1.23, 1., 3.14e-10, 4E210, 4.0e+210               # 浮点数
    0o123, 0X1FF, 0b010101                            # 八进制、十六进制、二进制
    3+4j, 3.0+4.0j, 3j                                # 复数常量,也可以用complex(real, image)来创建
    hex(I), oct(I), bin(I)                            # 将十进制数转换为十六进制、八进制、二进制表示的“字符串”
    int(str, base)                                    # 将字符串转为整数, base为进制数
    float('inf'), float('-inf'), float('nan')         # 无穷大,无穷小,非数

    数字的表达式操作符

    yield x                                           # 生成器函数发送协议
    lambda args: expression                           # 生成匿名函数
    x if y else z                                     # 三元选择表达式
    x and y, x or y, not x                            # 逻辑与、逻辑或、逻辑非
    x in y, x not in y                                # 成员对象测试
    x is y, x is not y                                # 对象实体测试
    x<y, x<=y, x>y, x>=y, x==y, x!=y                  # 大小比较,集合子集或超集值相等性操作符
    1 < a < 3                                         # Python中允许连续比较
    x|y, x&y, x^y                                     # 位或、 位与、 位异或
    x<<y, x>>y                                        # 位操作、 x左移、 右移y位
    +, -, *, /, //, %, **                             # 真除法、 floor除法:返回不大于真除法结果的整数值、取余、 幂运算
    -x, +x, ~x                                        # 一元减法、 识别、 按位求补
    x[i], x[i:j:k], x(......)                         # 索引、 分片、 调用
    int(3.14), float(3)                               # 强制类型转换
     数可以利用bit_length函数测试所占的位数 
    a = 1;       a.bit_length()       # 1 
    a = 1024;    a.bit_length()       # 11

    repr和str显示格式的区别

    """ 
    repr格式:默认的交互模式回显,产生的结果看起来它们就像是代码。
    str格式:打印语句,转化成一种对用户更加友好的格式。
    """

    数字相关模块

    # math模块
    # Decimal模块:小数模块
    import decimal
    from decimal import Decimal
    Decimal("0.01") + Decimal("0.02")       # 返回Decimal("0.03")
    decimal.getcontext().prec = 4           # 设置全局精度为4 即小数点后4位
    # Fraction模块:分数模块
    from fractions import Fraction
    x = Fraction(4, 6)                      # 分数类型 4/6
    x = Fraction("0.25")                    # 分数类型 1/4 接收字符串类型的参数

     集合set

    """
    set 是一个无序不重复元素集,基本功能包括关系测试和消除重复元素。
    set 支持union(联合),intersection(交),difference(差)和symmetric_ difference(对称差集)等数学运算。
    set 支持 x in set,len(set),for x in set。
    set 不记录元素位置或者插入点,因此不支持indexing,slicing,或其他类序列的操作
    """
    s = set([1,5,9,10])                                              # 创建一个数值集合,返回{3,5,9,10}
    t = set("Hello")                                                 # 创建一个唯一字符的集合返回{}
    a = t | s  t.union(s)                                            # t 和 s的并集
    b = t & s t.intersection(s)                                      # t 和 s的交集
    c = t - s t.difference(s)                                        # 求差集(项在t中,但不在s中)
    d = t ^ s t.symmetric_difference(s)                              # 对称差集(项在t或s中,但不会同时出现在二者中)
    t.add('x') t.remove('H')                                         # 增加/删除一个item
    t.update([10,37,42])                                             # 利用[......]更新t集合
    x in s, x not in s                                               # 集合中是否存在某个值
    s.issubset(t) s.issuperset(t) s.copy() s.discard(x) s.clear()
    {x**2 for x in [1,2,3,4]}                                        # 集合解析,结果:{1,4,9,16}
    {x for x in 'spam'}                                              # 集合解析,结果:{'a','p','a','m'}

     集合frozenset,不可变对象

    """
    set是可变对象,即不存在hash值,不能作为字典的键值。同样的还有list、tuple等
    frozenset是不可变对象,即存在hash值,可作为字典的键值
    frozenset对象没有add、remove等方法,但有union/intersection/difference等方法
    """
    a = set([1, 2, 3])
    b = set()
    b.add(a)                     # error: set是不可哈希类
    b.add(frozenset(a))          # ok,将set变为frozenset,可哈希

    布尔类型bool

    type(True)                   # 返回<class 'bool'>
    isinstance(False, int)       # bool类型属于整形,所以返回True
    True == 1, True is 1         # 输出(True,False)

    动态类型简介

    """
    变量名通过引用,指向对象
    Python中的"类型"属于对象,而不是变量,每个对象都包含有头部信息,比如"类型标识符""引用计数器"等
    """
    # 共享引用及在原处修改:对于可变对象,要注意尽量不要共享引用!
    # 共享引用和相等测试
        L = [1], M = [1], L is M # 返回False
        L = M = [1,2,3], L is M  # 返回True,共享引用
    # 增强赋值和共享引用:普通+号会生成新的对象,而增加赋值+=会在原处修改
        L = M = [1,2]            # L = [1, 2], M = [1, 2]
        L = L + [3,4]            # L = [1, 2, 3, 4], M = [1, 2]
        L += [3,4]               # L = [1, 2, 3, 4, 3, 4], M = [1, 2]

    常见字符串常量和表达式

    S = ''                             # 空字符串
    S = "spam's"                       # 双引号和单引号相同
    S = "s
    p	ax00m"                 # 转义字符
    S = """spam"""                     # 三重引号字符串,一般用于函数说明
    S = r'	emp'                       # Raw字符串,不会进行转义,抑制转义
    S = b'Spam'                        # Python3中的字节字符串
    S = u'spam'                        # Python2.6中的Unicode字符串
    s1+s2, s1*3, s[i], s[i:j], len(s)  # 字符串操作
    'a %s parrot' % 'kind'             # 字符串格式化表达式
    'a {0} parrot'.format('kind')      # 字符串格式化方法
    for x in s: print(x)               # 字符串迭代,成员关系
    [x*2 for x in s]                   # 字符串列表解
    ','.join(['a', 'b', 'c'])          # 字符串输出,结果:a,b,c
  • 相关阅读:
    jQuery 折叠,自动完成,小提示,树,验证插件(bassistance.de)
    多样化的连结提示效果(Tips)
    Ext开源 Extjs2.0 人力资源管理(ASP.NET)
    JavaScript面向对象编程
    访问Ext.data.store的数据
    Ext核心代码分析之Function.createDelegate
    支持firefox的省略符
    Ext 2.0下Jquery的整合使用示例
    多样化的垂直菜单(OUTLOOK菜单)
    使用 jQuery 简化 Ajax 开发
  • 原文地址:https://www.cnblogs.com/Python-XiaCaiP/p/8485969.html
Copyright © 2020-2023  润新知