zoukankan      html  css  js  c++  java
  • 杂碎小知识——基础阶段

    一、python是一门解释型 强类型 动态语言

    强类型:数据类型不可以被忽略的语言
    弱类型:数据类型可以被忽略的语言
    静态类型:编译的时候就知道每一个变量的类型,需要事先给变量进行数据类型定义,因为类型错误而不能做的事情是语法错误。
    动态类型:编译的时候不知道每一个变量的类型,运行时进行类型检查和绑定,因为类型错误而不能做的事情是运行时错误。
    
    各种类型语言列举:
    弱类型、静态类型 : C/C++
    弱类型、动态类型: JS/VB/Perl/PHP
    强类型、静态类型 :Java/C#
    强类型、动态类型 :Python, Scheme
    静态显式类型 :Java/C
    静态隐式类型 :Ocaml, Haskell

    二、int float没有内置方法

    长整型  复数型

    #int(整型)
    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
    #long(长整型)
    跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
    注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
    注意:在Python3里不再有long类型了,全都是int
    >>> a= 2**64
    >>> type(a)  #type()是查看数据类型的方法
    <type 'long'>
    >>> b = 2**60
    >>> type(b)
    <type 'int'>
    
    #complex复数型
    >>> x=1-2j
    >>> x.imag
    -2.0
    >>> x.real
    1.0

    三、不要随便做赋值操作,有些赋值操作没有返回值,会报错

    四、print()表示换行

    五、  为路径分隔符

    六、 程序运行中产生的数据先放到内存,变量也是把数据放到内存;
      硬盘上存的是高低电频。

    七、IO不会 导致CPU飙升  运算会导致CPU飙升

    八、变量值先造一个内存空间,把值放进去
      =就是把内存空间绑定一个名字

    九、文本文件读出来的内容都是字符串

    十、有索引的数据类型都是有序的

    十一、只要能被for循环的类型都能传成功list转成列表

    十二、 列表可以根据索引取值,不存在报错,列表不能加值
       字典可以根据索引取值,不存在报错,字典可以加值

    十三、不可变类型,用作读的操作上

    十四、字典中 key必须是不可变类型,初始化字典的value都是None

    十五、字符编码研究的范围只针对文本文件 音频、视频这些不包含在内

    十六、_class_   # 念法: 双下class

     十七、返回值

    #无返回值
    sort()
    reverse()

    十八、在循环一个列表时的过程中,如果你要改变列表的大小(增加值,或者删除值),那么结果很可能会出错或者报错。

       在循环一个字典的过程中,不要改变字典的大小(增,删字典的元素),这样会直接报错。

    十九、fromkeys:创建一个字典:字典的所有键来自一个可迭代对象,字典的值使用同一个值。

    二十、int bool  str 三者转换

    # int ---> bool
    i = 100
    print(bool(i))  # True  # 非零即True
    i1 = 0
    print(bool(i1))  # False 零即False
    
    # bool ---> int
    t = True
    print(int(t))  # 1  True --> 1
    t = False
    print(int(t))  # 0  False --> 0
    
    # int ---> str
    i1 = 100
    print(str(i1))  # '100'
    
    # str ---> int  # 全部由数字组成的字符串才可以转化成数字
    s1 = '90'
    print(int(s1))  # 90
    
    # str ---> bool
    s1 = 'ayca'
    s2 = ''
    print(bool(s1))  # True 非空即True
    print(bool(s2))  # False
    # bool ---> str
    t1 = True
    print(str(True))  # 'True'

      str list 两者转换*****

    # str ---> list
    s1 = 'aaa 狮子 老虎'
    print(s1.split())  # ['aaa', '狮子', '老虎']
    
    # list ---> str  # 前提 list 里面所有的元素必须是字符串类型才可以
    l1 = ['aaa', '狮子', '老虎']
    print(' '.join(l1))  # 'aaa 狮子 老虎'

      list set 两者转换

    # list ---> set
    s1 = [1, 2, 3]
    print(set(s1))
    
    # set ---> list
    set1 = {1, 2, 3, 3,}
    print(list(set1))  # [1, 2, 3]

      str bytes 两者转换

    # str ---> bytes
    s1 = '老虎'
    print(s1.encode('utf-8'))  # b'xe5xa4xaaxe7x99xbd'
    
    # bytes ---> str
    b = b'xe5xa4xaaxe7x99xbd'
    print(b.decode('utf-8'))  # '老虎'

    二十一、按存储空间的占用分(从低到高)

    数字
    字符串
    集合:无序,即无序存索引相关信息
    元组:有序,需要存索引相关信息,不可变
    列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
    字典:有序,需要存key与value映射的相关信息,可变,需要处理数据的增删改(3.6之后有序)
  • 相关阅读:
    Python 产生和验证IMEI Vevi
    Ubuntu常见问题及解决方案
    error LNK2019: 无法解析的外部符号 WinMain(vs2019)
    NVIDIA GPU 架构演进
    RFCN详解
    Visdom 使用教程
    传统特征提取方法总结
    模型转换、模型压缩、模型加速工具
    YoloV5实战
    React vscode 创建 react 项目流程
  • 原文地址:https://www.cnblogs.com/guojieying/p/13293433.html
Copyright © 2011-2022 走看看