一、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之后有序)