Python基础编程之数据类型操作——数值、布尔和字符串
- 数值
- 整数
- 浮点数
- 复数
- 常用操作
- 布尔类型
- 字符串
- 字符串拼接
- 字符串切片
- 常用函数
- 查找计算
- 转换操作
- 填充压缩
- 分割拼接
- 判定操作
数值
表现形式:整数(int)、浮点数(float)、复数(complex)
分正负
整数
逢x进1
二进制0b 包含01,逢2进1
八进制0o 包含0-7,逢8进1
十进制(默认)包含0-9
十六进制0x 包含0-9,a-f
浮点数
由整数部分和小数部分组成:31.4
科学计数法表示:3.14e1
复数
a+bj表示为:complex(a,b)
常用操作
数学函数
内建函数:
绝对值:abs(num)
最大值:max(num1,num2)
最小值:min(num1,num2)
四舍五入(n表示位数):round(num[,n])
返回 xy(x 的 y 次方) 的值:pow(x,y)
math模块:
import math
返回数字的上入整数:ceil(num)
返回数字的下入整数:floor(num)
平方根:sqrt(num)
取对数:log(x,base)
随机函数
import random
范围之内的随机小数:random()
从一个序列中,挑选一个数值:choice()
范围之内的随机小数:uniform(x,y)
范围之内的随机整数(双闭合):randint(x,y)
给定区间的一个随机整数(左闭右开):randrange(start,stop,step=1)
三角函数
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), degrees(x)(弧度变角度), radians(x)(角度变弧度), pi
布尔类型
bool:True与False
它是int类型的子类:True+2=3
字符串
非原始字符串:‘x’、“x”、‘’‘x’‘’、”“”x“”“
原始字符串:在非原始字符串前加r,如r’x’
转义符:通过转换指定的字符变成一个含义,比如\(续行符); '(单引号); "(双引号); \n(换行); \t(横向制表符tab)
字符串拼接
- str1+str2
- str1str2
- “xxx%xxx”%(a, b)
- “abc”*3
字符串切片
name[下标]
下标指每个字位的标号
倒着来,最后一位是-1然后是-2…
对于片段来说:name[起始:结束:步长]左闭右开,对于获取顺序步长为负则从右到左
name='123456789'
print(name[0:len(name):1)
print(name[::-1]) # 反转字符串
常用函数
查找计算
# len() 计算字符串个数(注转义符算一个字符)
name="123456789"
a=len(name)
print(a)
# find(sub,start=0,end=len(str)) 从哪到哪查什么,找到返回位置,找不到返回-1
b=name.find("789")
print(b)
# rfind 同find,区别为从右到左查找
c=name.rfind("789")
print(c)
# index(sub,start=0,end=len(str)) 获取位置,同find只不过找不到报错
d=name.index("10")
print(d)
# rindex同index,区别为从右到左查找
e=name.rindex("10")
print(e)
# count(sub,start=0,end=len(str)) 计算某个字符串的出现个数
f=name.count("0")
print(f)
转换操作
name = 'wo shi Xxx'
# replace(old, new[,count]) 替换操作,count指个数(不修改name本身)
print(name.replace('s','z',1)
# capitalize() 字符串首字母变成大写
print(name.capitalize())
# title() 字符串每个单词首字母变成大写
print(name.title())
# lower() 每个字符变成小写
print(name.lower())
填充压缩
# ljust(width,fillchar) 表示原字符靠左(其本身不发生改变)当字符串小于设定才会填充
name = 'abc'
print(name.ljust(6,'x'))
# rjust 表示原字符靠右(其本身不发生改变)当字符串小于设定才会填充
print(name.rjust(6,'x'))
# center 表示原字符居中(其本身不发生改变)当字符串小于设定才会填充
print(name.center(6,'x'))
# lstrip 移除原字符串左侧的指定字符(默认为空格)
name = 'wwwoo shi sx'
print(name.lstrip())
print(name.lstrip('wo')) # 溢出左边开始检索的w和o
# rstrip 移除原字符串右侧的指定字符(默认为空格)
print(name.rstrip())
分割拼接
# split(sep,maxsplit) 将一个大的字符串分割成几个字符串,输出为字符串组成的列表,不修改原字符串
info = 'sx-18-180'
result = info.split('-')
print(result)
# partition(sep,maxsplit) 从左边开始找将一个大的字符串分割成三部分,输出为字符串组成的元组
info1 = 'sx-18-180-0558-123456789'
result = i-nfo1.partition('-')
print(result)
# rpartition(sep,maxsplit) 从右边开始找将一个大的字符串分割成三部分,输出为字符串组成的元组
result = info1.rpartition('-')
print(result)
# splitlines(keepends) 按照换行符将字符串拆成多个元素保存到列表里
name = 'wo \n shi \r sx'
result = name.splitlines()
print(result)
# join() 根据指定字符串,将给定的可迭代对象进行拼接
items = ['sz','18','shanghai']
result='-'.join(items)
print(result)
判定操作
# isalpha 判定所有字符是否都是字母
name = 'sz'
print(name.isalpha())
# isdigit 判定所有字符是否都是数字
name = '1233'
print(name.isdigit())
# isalnum 判定所有字符是否都是数字或者字母
# isspace 字符串中是否所有字符都是空白符
# startswith(,start,end) 字符串是否以某个前缀开头
name = '2019-02-02: xxx'
print(name.startswith('2019')
print(name.startswith('19',2)
# endswith 字符串是否以某个前缀结尾