Zhouyao's Blog

Do Something Big With Us

【Python基础】数据类型与变量\字符串和编码\使用list和tuple

文章内容主要来自于【廖雪峰Python教程】,基于Python 3.5.

对于廖雪峰老师教程的一个精简,把一些比较零碎的、不太重要的,非常基础的一些内容删去了,譬如说Python的安装、Python的渊源之类的等等。

相对来说比较重要,需要掌握的东西均已写上去了


数据类型与变量
数据类型
整数:
浮点数:即小数,科学计数法,10用e替代,1.23×10^9即为1.23e9,0.000012即为1.2e-5
字符串:单引号’双引号”引起来的文本,\进行转义,\n换行,\t制表符,r’ ‘内部不转义任何字符串
布尔值:True、False两种
与或非:And与,都为True时才为True;
            Or或,一个为True即为True;
            Not非,单目运算符,True变False,False变True
空值:空值即为None,0不是空值
变量
可以把任意数值赋给变量
常量
在Python中,通常用全部大写的变量名表示常量
浮点型除法/
>>> 10 / 3
3.3333333333333335
>>> 9 / 3
3.0
整数型除法//,又被称为地板除
>>> 10 // 3
3
整除取余%
>>> 10 % 3
1

小结

Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648-2147483647。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)。


字符串和编码
字符编码的相关历史概念
 8 bit = 1 byte = 255 DEC = 1111 1111 BIN
16bit = 2 byte = 65 535 DEC = 1111 1111 11111 1111 BIN
ASCII编码是1个字节,而Unicode编码通常是2个字节,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
UTF-8比Unicode要省空间
Python字符串
ord()字符转换编码
>>> ord(‘中’)
20013
chr()编码转换字符
>>> chr(66)
‘B’
Python 的字符串类型为str,若传输或保存,就要把str 转换为 bytes,使用encode与decode
格式化
%d  整数 | %s字符串替换 | %f 浮点数 | %x 十六进制数 | %? ?写数字,与其他字符组合使用 |
%% 来代表一个%
>>> ‘%2d-%02d’ % (3, 1)
‘ 3-01’
>>> ‘%.2f’ % 3.1415926
‘3.14’


使用list和tuple
list[]
list即为列表,可以修改,有序的。
classmates = [‘A’,’B’,’C’]
>>>len(classmates)
3
索引从0开始,-1位倒数第一,
classmates.append(xxx),追加到最后一项;classmates.insert(1,xx),插入到第二位置。
classmates.pop()为删除classmates列表的最后一个元素
classmates.pop(2)为删除classmates列表的第三个元素
classmates[1]=’D’为替换索引位1的元素为D
>>>p = [‘asp’, ‘php’]
>>>s = [‘python’, ‘java’, p, ‘scheme’]
>>>s = [‘python’, ‘java’, [‘asp’, ‘php’], ‘scheme’]
>>>len(s)
4
‘php’=p[1] or s[2][1]
如果一个list为另外一个list的元素,那么,被嵌套的list不管其中有几个元素,均被视为一个元素。
tuple()
tuple即为元组,不可修改,有序的。
classmates = (‘A’,’B’,’C’)
即A、B、C元素都不能修改
定义一个空tuple
>>> t = ()
>>> t
()
定义一个元素的tuple
>>> t = (1,)
>>> t
(1,)
“可变的”tuple:
>>> t = (‘a’, ‘b’, [‘A’, ‘B’])
>>> t[2][0] = ‘X’
>>> t[2][1] = ‘Y’
>>> t
(‘a’, ‘b’, [‘X’, ‘Y’])
《【Python基础】数据类型与变量\字符串和编码\使用list和tuple》《【Python基础】数据类型与变量\字符串和编码\使用list和tuple》
《【Python基础】数据类型与变量\字符串和编码\使用list和tuple》
《【Python基础】数据类型与变量\字符串和编码\使用list和tuple》
看上去tuple的元素变了,但又其实没有变,变得其实不是tuple的元素,而是list的元素
tuple一开始指向list,在list中的元素转换后,tuple依旧指向list,所以tuple并没有改变
tuple的不变性可以这么说:tuple中,元素的指向性是不变的
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 59 = 66