Python数据类型
Type | Example | Type | Example |
---|---|---|---|
int | -100 | long int | -10000000000000L |
float | 3.1416 | bool | True(用1存储), False(用0存储) |
string | 'hello' | tuple | ('ring',1000) |
list | [1,1.2,'hello'] | set | {1,2,3} |
dictionary | {'dog':5,'pig':3} | pandas | DataFram, Series |
Numpy array | array([1,2,3]) | customize | Object Oriented Classes |
int和long int:
在32位系统中一个,一个整形4字 节,在64位系统中一个整形8字节
int超出范围时,Pythonhi会自动转化为long int,long int标志是后面以L结尾
复数(Complex number:)
Python用j表示虚部
例如: a=1+2j,type(a)
为complex,实部a.real
为1.0,虚部a.imag
为2.0,共轭a.conjugate()
为1-2j。
科学计数法:
例如
9.8e3
为9800,-4.78e-2
为-0.0478
可变与不可变类型:
大部分Python对象是可变的(mutable),例如列表(用[ ]界别)、字典、Numpy数组以及大部分用户自定义类型(类)是可变类型.
元组(用( )界别)和字符串是不可变(immutable)类型,
字符串
字符串方法
方法不改变原字符串
方法 | Detail | 方法 | Detail |
---|---|---|---|
s.split() |
以指定字符作为分隔符分割 | s.replace(old,new) |
old替换new |
s.join() |
连接 | s.strip s.lstrip() s.rstrip() |
去除两端/左端/右端空格 |
s.upper() |
返回大写 | s.lower() |
返回小写 |
s.capitalize |
字符串首字母大写 | s.title |
第一个英文字母大写 |
s.encode() |
编码 | s.decode() |
解码 |
s.find(x) |
返回某元素位置,没有时返回-1 | s.index(x) |
和find类似,但找不到时会出错 |
str(ob) repr(ob) |
强制转换为字符串 | s.startswith() s.endswith() |
断字符串是否以指定前缀/后缀开头 |
s.split()
用法: 注意用不同分隔符切片的差别
s="sassbssscssss"
a=s.split('s')
print(a, len(a))
# ['', 'a', '', 'b', '', '', 'c', '', '', '', ''] 11
s1=' a b c '
b=s1.split()
print(b, len(b))
#['a', 'b', 'c'] 3
s.join()
用法:
line = "1 2 3 4 5"
numbers = line.split()
s = ','
s.join(numbers)
#out: 1,2,3,4,5
整数与进制转化
\ | 十六进制 | 八进制 | 二进制 |
---|---|---|---|
十进制换其他进制 | hex(num) |
oct(num) |
bin(num) |
其他进制转换十进制 | int('ob',16) |
int('ob',8) |
int('ob',2) |
十六进制以0x开头,八进制以0或0o开头,二进制以0b开头
格式化字符串.format()
先看一个例子:
'{color} {0} {x} {1}'.format(10, 'foo', x = 1.5, color='blue')
#out: 'blue 10 1.5 foo'
{} 的部分会被.format
传入的参数替代,传入的值可以是字符串,也可以是数字或者别的对象也可以使用旧式的 % 方法进行格式化:
s, x, y= "some numbers:", 1.34, 2
t = "%s %f, %d" % (s, x, y)
#out: 'some numbers: 1.340000, 2'
类型说明符
[对齐说明符][符号说明符][最小宽度说明符][.精度说明符][类型说明符]
字符 | Detail | 字符 | Detail |
---|---|---|---|
b | 二进制 | o | 八进制 |
x | 十六进制 | c | 字符,将整数转化为Unicode字符输出 |
d | 十进制 | f | 浮点数 |
e | 指数计数法,用e表示幂 | +m.nf | 输出带符号的数,保留n位小数,整个输出占m列,若超过m,则突破m限制 |
< | 左对齐,默认用空格填充右边 | 0>5d | 右对齐,用0填充左边,宽度为5 |
^ | 居中对齐 | {{}} | 输出一个{} |
换行
用()
或\
,或者三引号'''...'''
a = ("hello, world. "
"it's a nice day. "
)
#等同
a = "hello, world. " \
"my name is xxx"
原始字符串操作符
r/R
,用于一些不希望转义字符起作用的地方,例如:
f=open('c:\python\test.py','w') #会报错
f=open(r'c:\python\test.py','w') #加了r会直接按字面意思理解,等同下面加转义字符
f=open('c:\\python\\test.py','w')
转义字符
字符 | Detail | 字符 | Detail |
---|---|---|---|
\0 | 空字符 | \a | 响铃 |
\b | 退格 | \t | 横向制表符 |
\n | 换行 | \v | 纵向制表符 |
\f | 换页 | \r | 回车 |
\e | 转义 | " | 双引号 |
' | 单引号 | | 反斜杠 | |
(在尾行时) | 续行符 | \OOO | 八进制数OOO代表的字符 |
\xXX | 十六进制数XX代表的字符 | \ | \ |
网友评论