zoukankan      html  css  js  c++  java
  • 小数据池及编码

    1.代码块

    if True:
        print(333)
        print(666)
    while 1:
        a = 1
        b = 2
        print(a+b)
    for i in '12324354':
        print(i)
    虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块。
    python中真正意义的代码块是什么?
    一个模块,一个函数,一个类,一个文件等都是一个代码块。
    def func():
        print(333)
    class A:
        name = 'alex'
    交互模式下,每一行是一个代码块。
    >>> i1 = 1000 可以理解为这一行在一个文件中。
    >>> i2 = 1000 可以理解为这一行在另一个文件中。
    2.id is ==
    name = 'alex'  # 赋值
    print('alex' == 'alex')  # 数值相同
    name = 'alex123'
    name1 = 'alex123'
    print(id(name),id(name1))

    在内存中id都是唯一的,如果两个变量指向的值的id相同,就证明他们在内存中是同一个。
    is 判断的是两个变量的id值是否相同。
    如果is是True, == 一定是True。
    3.小数据池(缓存机制,驻留机制)
    小数据池的应用的数据类型: 整数,字符串,bool值
    小数据池,python对内存做的一个优化:
    他将 -5 ~256 的整数,以及一定规则的字符串,提前在内存中创建了池,容器,
    容器里固定的放了这些数。
    为什么这么做???
    1,节省内存。
    2,提高性能与效率。
    i1 = 100
    i2 = 100
    4.代码块:
    python在同一个代码块中的变量,初始化对象的命令时,它会将变量与值的对应关系放到一个字典中,
    如果下面的代码在遇到初始化对象的命令,他会先从字典中寻找,如果存在相同的值,他会复用,指向的都是同一个内存地址。
    dic = {'name': alex@的内存地址,}
    python对于不同的代码块:初始化对象的命令时,他会从小数据池中寻找。
    name = 'alex@'
    name1 = 'alex@'  #  name1 = name
    #同一个代码块
    i1 = 1000
    i2 = 1000
    print(id(i1),id(i2))
    def func():
        i1 = 1000
        print(id(i1))
    def func1():
        i2 = 1000
        print(id(i2))
    func1()
    func()
    5.编码
    # b1 = b'alex'
    # b2 = b1.upper()
    # s1 = 'alex'
    # print(b1, type(b1))
    # print(b2, type(b2))
    # print(s1, type(s1))

    # s1 = '太白'
    # b1 = s1.encode('utf-8')
    # b2 = s1.encode('gbk')
    # print(b1) # b'xe5xa4xaaxe7x99xbd'
    # print(b2)

    # str --- > bytes encode 编码
    # s1 = 'alex'
    # s2 = '太白'
    # b1 = s1.encode('utf-8')
    # print(b1)
    # b2 = s2.encode('gbk')
    # print(b2)

    # bytes ---> str decode 解码
    b1 = b'xccxabxb0xd7' # gbk 的bytes
    s2 = b1.decode('gbk')
    print(s2)

    
    
  • 相关阅读:
    [LeetCode]2. Add Two Numbers链表相加
    Integration between Dynamics 365 and Dynamics 365 Finance and Operation
    向视图列添加自定义图标和提示信息 -- PowerApps / Dynamics365
    Update the Power Apps portals solution
    Migrate portal configuration
    Use variable to setup related components visible
    Loyalty management on Retail of Dynamic 365
    Modern Fluent UI controls in Power Apps
    Change screen size and orientation of a canvas app in Power App
    Communication Plan for Power Platform
  • 原文地址:https://www.cnblogs.com/caoshitong/p/9450021.html
Copyright © 2011-2022 走看看