【python】数据类型、字符串与编码、list和tuple
2017-04-14 本文已影响0人
MJXH
单行注释:#
开头的语句
多行注释:"""注释内容"""
缩进:4个空格</br>以冒号:
结尾时,缩进的语句视为代码块。
大小写敏感
- 数据类型
1.整数:十六进制用0x
前缀和0-9,a-f表示,eg:0xff00,0xa5b4c3d2
2.浮点数:10用e替代,1.23x109=1.23e9=12.3e8,0.000012=1.2e-5
3.字符串:以单引号'
或双引号"
括起来"I'm ok"
4.转义字符:\'I\'m \"OK\"!'
转义成I'm "OK"!
\n
表示换行,\t
表示制表符
5.用r''
表示''
内部的字符串默认不转义
6.在命令行用'''...'''
的格式表示多行内容
问:输入错误之后仍然出现...
怎么退出?exit()无效 Ctrl+z 无效
>>> print('''line1
... line2
... line3''')
line1
line2
line3
7.注意True ,False 大小写
8.not
运算:非运算,是一个单目运算符,把True变成False,False变成True
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
9.理解变量在计算中的存储
10.习惯上用全部大写的变量名表示常量 eg:PI = 3.14159265359
11.整数的除法:/
结果是浮点数 ,//
结果取整数, %
结果取余数
- 字符串和编码
1.ASCII、Unicode和UTF-8的关系 没太搞懂 感觉Unicode是一套包含ASCII等多个编码的编码系统,UTF-8是为简化Unicode存储应运而生的编码
2.ord()
获取字符的整数表示,chr()
把编码转换为对应的字符
>>> ord('a')
97
>>> chr(66)
'B'
3.网络传输,或保存磁盘时,需要把str变为以字节为单位的bytes。
Python对bytes类型的数据用带b前缀的单引号或双引号表示:x = b'ABC'
Unicode表示的str通过encode()
方法可以编码为指定的bytes
4.从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()
方法
(这一段不太懂,遇到实例再看,先记下)
5.# -*- coding: utf-8 -*-
语句写在开头,按照UTF-8编码读取源代码,避免源代码中的中文输出有乱码
- 格式化 :
%
字符
%s 字符串 ,不知道该用什么的时候,也可以用这个。比如,True 和False
%d 整数
%f 浮点数
%x 十六进制整数
写法:
>>> 'Hello,%s' %'word'
'Hello,word'
>>> 'Hi,%s,you have $%d.' %('Michael',10000)
'Hi,Michael,you have $10000.'
注意:%()前有空格
关于格式化整数和浮点数还可以指定是否补0和整数与小数的位数
%2d
代表前(2-1)个空格占位,无0则不补0。 eg:%08d
则表示前有7个0占位
'%.2f'
代表保留2位
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
普通字符%,用%%来转义为%
>>> 'growth rate: %d %%' %7
'growth rate: 7 %'
- list列表
list列表:有序集合c=['a','b','c']
,可用len()
获取元素个数,索引获取元素
list的一些方法:
c[-1] #索引取元素,个数为n-1
c.append('d') #末尾加元素
c.insert(4,'e') #指定位置加插入元素
c.pop() #删除末尾元素
c.pop(0) #删除指定位置元素
c[1]='hi' #替换元素
a[4][1] #取二维元素
- tuple 元组
tuple元组:有序列表,一旦初始化不能修改
>>> tup=('zhao','qian','sun')
注意:当定义的tuple中只有一个元素时,加逗号
tup = (1,)