数值类型
整型
int_val = 1145143
print(int_val)
python中的整型是大数类型。
一些其他函数
val = 30
vlen = val.bit_length() # 转换为二进制的长度
v_8 = oct(val)
print(v_8) # 将十进制转为八进制
v_16 = hex(val) # 将十进制转为十六进制
v_2 = bin(val) # 将十进制转为二进制
# 将字符串类型的base数字字符串转为十进制数字
val = int("100",2);
print(val) # 100(2) ==> 4(10)
# 延申:整型占用的内存空间
import sys
print(sys.getsizeof(0)) # 整数0占用24字节
print(sys.getsizeof(2 ** 30-1)) # 1 到 2^30 - 1 占用28字节
print(sys.getsizeof(2 ** 30)) # 2^30 占用32字节
print(sys.getsizeof(1.)) # 浮点数占固定字节 24字节
整数的内存占用大小会随着数值的增加而增加。而浮点数的内存占用大小是固定的。
浮点型
字符串类型
s1 = 'This is a string' # 单引号字符串
s2 = "This also is a string" # 双引号字符串
s3 = """
There are
multi-row
string""" # 多行字符串
s4 = r'\this\has\special\\' # 原始字符串,反斜杠 \ 不会被转义,而是当作普通字符处理
在双引号字符串中使用单引号不用转义。
s1 = '\'\''
s2 = "''"
print(s2)
s1 = 'This is a string' # 单引号字符串
s2 = "This also is a string" # 双引号字符串
s3 = """
There are
multi-row
string""" # 多行字符串
s4 = r'\this\has\special\\' # 原始字符串,反斜杠 \ 不会被转义,而是当作普通字符处理
print('.'.join([s1,s2,s3,s4])) # 字符串拼接
字符串常用操作
- 字符串合并
- 字符串重复
- 字符串大小写转换
- 字符串查找
str.find(sub[, start[, end]])
: 返回字符串中子串 sub
第一次出现的索引,如果没有找到则返回 -1。可以指定可选参数 start
和 end
来指定查找的起始和结束位置。
- 字符串计数
- 字符串替代
str.replace(old, new[, count])
: 将字符串中的 old
子串替换为 new
字符串。可选参数 count
指定替换的次数(默认为全部替换)。
- 字符串长度
字符串切片和索引
s1 = "Yan Harper"
print(s1[0], s1[1], s1[-1])
print(s1[0:3])
print(s1[-6:])
print(s1[::-1]) # 翻转
字符串格式化
%格式化
(printf风格) 【版本2.x就有】
format格式化
【版本3.x常用】
f字符串
【3.6+】
%格式自定义名称(字典形式)
format格式化自定义顺序
这些不仅仅可以用于打印,还可以用于字符串本身。
关于字符串格式化的输入输出还有很多形式。
print(" There are %d %s, you have to pay %.2f yuan" % (3, "apples", 4.5))
print("There are {:d} {:s}, you have to pay {:.2f} yuan".format(5, "apples", 23.))
count = 1
amount = 3.14
item = "apples"
print(f"There are {count:d} {item:s}, you have to pay {amount:.2f}")
print("There are %(num1)d %(str1)s, you have to pay %(num2).2f"%{"num1" : 3, "str1" : "apples", "num2": 3.1})
print("There are {1} {2}, you have to pay {0:.2f}".format(3.4, 2, "apples"))
s1 = "%d %.2f" % (3, 45.3434)
print(s1)