1. Python-数据类型和字符串

2019-06-17  本文已影响0人  Yuri7

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开头,八进制以00o开头,二进制以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代表的字符 \ \
上一篇 下一篇

猜你喜欢

热点阅读