Python 02--数值运算及字符串操作
Python02--数值运算及字符串操作
Python 数值运算
- Pyhton的输出,主要看最后一行代码

| 符号 | 作用 |
|---|---|
| * | 乘 |
| / | 除 |
| % | 取余 |
| ** | 平方 |
- 查看变量的类型
tang=3
type(tang)#打印类型
输出:int
tang=True
type(tang)
输出:bool
- 类型转换
tang=1.5
int(tang)
输出:1
tang=1.5
tang2=int(tang)##1
type(int(tang))##int
type(tang2)##int
type(float(tang2))##float
-
计算先后的一个顺序
- ()
- **
- */
- +-
-
基本数值操作
| 操作符号 | 说明 |
|---|---|
| en | 科学计数法10^n |
| 0xFF | 16进制 |
| abs() | 取绝对值 |
| round() | 四舍五入取整 |
| min(),max() 可以加数组 | 最小最大值 |
| >,<,== | 判断,输出类型 布尔类型 |
- 几种常用类型
- int
- float
- str
- bool
Python字符串操作
- len可以打印字符串的长度
Li='hello'+'python'
Li
len(Li)
输出:11
- 字符串中的+与*
Li='hello'+'python'
Li ##hellopython
Li_str='hello python'
Li_str*3##'hello pythonhello pythonhello python'
字符串操作
1 对字符串进行切分操作——split
-
split(): 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
-
语法:
str.split(str="", num=string.count(str)).
- 参数:
(1)str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
(2)num -- 分割次数。默认为 -1, 即分隔所有。
- 返回值:
返回分割后的字符串列表。
- 实例:
(1)空格作为分隔符
li='1,2,3,4,5'
li.split()
输出:['1,2,3,4,5']
(2)','作为分隔符
li='1,2,3,4,5'
li.split(',')
输出:['1', '2', '3', '4', '5']
2 对字符串进行合并的操作——join
- join(): 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
- 语法:
str.join(sequence)
- 参数:
(1)sequence -- 要连接的元素序列。
- 返回值:
返回通过指定字符连接序列中元素后生成的新字符串。
- 实例:
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
输出:
r-u-n-o-o-b
runoob
3 实现字符串中的替换功能——replace
-
replace():方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
-
语法:
str.replace(old, new[, max])
- 参数:
(1)old -- 将被替换的子字符串。
(2)new -- 新字符串,用于替换old子字符串。
(3)max -- 可选字符串, 替换不超过 max 次
- 返回值:
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
- 实例:
str = "this is string example....wow!!! this is really string";
print str.replace("is", "was");
print str.replace("is", "was", 3);
输出:
thwas was string example....wow!!! thwas was really string
thwas was string example....wow!!! thwas is really string
4 大小写转换
-
upper():把字符串转成大写
-
lower():把字符串转成小写
-
wordCap():将字符串每一个单词的首字母大写
-
语法:
upper(s)
- 参数说明:
s待转成大写的源串
- 实例
例1:upper("ABCdef")返回:"ABCDEF"
例2:upper("abcDEF")返回:"ABCDEF"
5 格式化函数——format
-
格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
-
语法:通过
{}和:来代替以前的 % 。 -
实例:
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
"{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
"{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
- 设置参数:
print('网站名:{name},地址{url}'.format(name='努力学技术的小豪',url='www.cnblogs.com/studyhao1999/'))
##通过字典设置参数
site={'name':'努力学技术的小豪','url':'www.cnblogs.com/studyhao1999/'}
print('网站名:{name},地址:{url}'.format(**site))
##通过列表索引设置参数
mylist=['努力学技术的小豪','www.cnblogs.com/studyhao1999/']
print('网站名:{0[0]},地址{0[1]}'.format(mylist)) # "0" 是必须的
输出:
网站名:努力学技术的小豪,地址www.cnblogs.com/studyhao1999/
网站名:努力学技术的小豪,地址www.cnblogs.com/studyhao1999/
网站名:努力学技术的小豪,地址www.cnblogs.com/studyhao1999/
也可以向str.format()传入对象:
class AssignValue(object):
def __init__(self, value):#init前面是两个_
self.value = value
my_value = AssignValue(6)
print('value 为: {0.value}'.format(my_value)) # "0" 是可选的
输出:
value 为: 6
- 数字格式化
下表展示了 str.format() 格式化数字的多种方法:
print("{:.2f}".format(3.1415926))
##输出:3.14
| 数字 | 格式 | 输出 | 描述 |
|---|---|---|---|
| 3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
| 3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
| -1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
| 2.71828 | {:.0f} | 3 | 不带小数 |
| 5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
| 5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
| 10 | {:x<4d} | 10xx | 数字补x (填充右边, 宽度为4) |
| 1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
| 0.25 | {:.2%} | 25.00% | 百分比格式 |
| 1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
| 13 | {:>10d} | 13 | 右对齐 (默认, 宽度为10) |
| 13 | {:<10d} | 13 | 左对齐 (宽度为10) |
| 13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
| 11 | '{:b}'.format(11) '{:d}'.format(11) '{??}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11) |
1011 11 13 b 0xb 0XB |
进制 |
-
^, <, > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
-
+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
-
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
-
此外我们可以使用大括号 {} 来转义大括号,如下实例:
print ("{} 对应的位置是 {{0}}".format("runoob"))
输出:
runoob 对应的位置是 {0}