Python3入门(2)---Number类型与String类型详解

Number 类型

常用数学函数

函数描述所属包
abs(i)返回数字i的绝对值
ceil(i)向上取整math
exp(i)e的i次方math
fabs(i)返回数字i的绝对值,浮点类型math
floor(i)向下取整math
log(x, y)\log(x)log以y为底x的对数,没有y时,默认以e为底math
max(a,b, c)\max(seq)max获取序列的最大值math
min(a,b,c)\min(seq)min获取序列的最小值math
modf(f)返回一个元组,第一个元素为浮点数位,第二个元素为整数位的浮点数表示,正负与f相同math
pow(x,y)等价于x**y
round(f, x)\round(f)四舍五入,保留x位小数,没有x时,默认不保留小数位
sqrt(x)x的平方根math
from math import ceil, exp, fabs, floor, log, sqrt, e, modf  ##math包需要单独引入

f = -1.1312321
i = 1

print(abs(f))  ## 1.1312321
print(ceil(f))  ## -1
print(exp(1))  # 2.718281828459045 => python中定义的e
print(fabs(i)) # 1.0
print(floor(f)) # -2
print(log(e))  # 1.0
print(log(1))  # 0.0
print(log(100, 10)) #2.0
print(type(modf(f))) # <class 'tuple'>
print(modf(f)) ## (-0.13123210000000007, -1.0)  浮点位这样表示的原因是计算机的通病,主要是因为计算机是使用二进制保存浮点数
		## 而导致了浮点数精度丢失
print(pow(2, 3)) # 8
print(round(f, 3)) # -1.131
print(sqrt(4)) # 2

随机数函数

函数描述所属包
choice(seq)从序列中随机选择一个,字典偶尔会出错,只适用于list,tuple对象random
randrange([start], stop, [step])在start-stop之间选择一个随机数,step为区间内随机数的间隔,start、step可选,默认start = 0(???),step = 1random
random()[0,1)的随机数random
shuffle(seq)把list随机排序,只可用于listrandom
uniform(x, y)随机生成一个实数x-y之间的随机浮点数random
from random import choice, randrange, random, shuffle, uniform

tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
set1 = {1, 2, 3, 4}
dict1 = {1: '1', 2: '2', 3: '3'}

print(choice(tuple1))
print(randrange(1, 10, 2))
print(randrange(10))
print(random())
print(shuffle(list1))   # None
print(list1)
uniform(1000, 9999)

还有三角函数等…

字符串类型

  • 字符串支持 *操作,输出相同的字符串n次。

  • 字符串转义、字符串元素访问、字符串格式化基本与其他语言类似

  • 支持""" ... """,按照原样输出文本,不进行转义、格式化等操作

  • 在python3.6版本后加入f-string,python3.8之后支持=拼接

  • python3中,所有的字符串都是用Unicode字符串存放的

string = '1234'

pirnt(string * 2) # 12341234
print(f'Hello {string}')  # Hello 1234
print(f'{100 + 321 = }') # 100 + 32 = 132

字符串内建函数:

string = “asdfgh”

string1 = ‘asd\tfgh’

函数描述
string.capitalize()将string的首字母变为大写
string.center(length[, fillchar])string的长度大于length时,直接返回原字符串;如果小于length,则默认使用空格填充,将string居中,也可以指定filechar,使用指定的字符填充填充两侧
string.ljust(width[,fillchar])string的长度大于length时,直接返回原字符串;如果小于length,则默认使用空格填充,将string左对齐,也可以指定filechar,使用指定的字符填充 填充右侧
string.rjust(width[,fillchar])string的长度大于length时,直接返回原字符串;如果小于length,则默认使用空格填充,将string右对齐,也可以指定filechar,使用指定的字符填充 填充左侧
string.zfill(width)用0填充的rjust()
string.count(str[, start, end])string中包含str的次数,start默认为0,end默认为len(string)。
encode/decode字符串内建了encode函数,encode = string.encode(encoding='ISO-8859-1', errors='strict'),返回的encode类型为bytes,此时可以使用bytes.decode(encoding='GBK', errors='strict'),注意decode的返回值也是bytes类型
string.endswith(str[, start, end])判断字符串是否以str结尾,增加start,end参数时,在start-end间的字符串是否以str结尾
string1.expandtabs([tabsize])把字符串中的tab符号转换为空格,tabsize默认为8,可以自定义
string.find(str[,start,end])判断字符串中是否包含str,增加参数start,end时判断范围修改为start-end之间,如果包含str,则返回首次str出现的下标,否则返回-1
string.index(str[,start,end])与find类似,唯一区别的是,当不包含str时,抛出一个异常ValueError: substring not found
string.isalnum()当字符串是一个非空且由数字-字母-汉字组成的字符串时,返回True,否则返回False【alnum => alpha + numeric】
string.isalpha()当字符串非空且只包含字母-汉字时,返回True,否则返回False
string.isdigit()非空字符串只包含数字时,发挥True
string.islower()非空字符串只包含小写字母时,返回True,否则返回False
string.isnumeric()非空字符串 只包含数字字符时,返回True
string.isspace()非空字符串只包含空格返回True
string.istitle()非空字符串首字母都为大写,则返回True
string.isupper()非空字符串只包含大写字母时返回True
string.join(seq)使用字符串连接序列的每一个元素组成一个新的字符串
len(string)返回字符串长度
string.lower()将字符串中的大写字母转换为小写字母
string.lstrip([str])截去字符串左侧的空格(默认),或者指定的字符串str
string.maketrains(args)创建一个字符串映射表,args可以为一个字典,也可以为两个长度相同的字符串,string.maketrains(intab, outtab),intab为要替换的字符串,outtab为要被替换的字符串
string.translate(trains)trains为string.maketrains()创建的映射表,将对应的映射表中对应的字母替换
max(string)返回字符串string中最大的字母
min(string)返回字符串string中最小的字母
string.replace(oldstr,newstr[,max])将字符串中的oldstr替换为newstr,如果指定max,则最多替换max次
string.rfind(str[,start,end])类似于find(),从右侧开始
string.rindex(str[,start,end])类似于index(),从右侧开始
string.rtrip([str])类似于ltrip(),从右侧开始
string.split(str[,num])以str为分隔符分隔,如果指定num,则最多分隔num+1个子字符串
string.splitlines([keepends])按换行(\r,\r\n,\n)分隔字符串,保存为list,keepends为True保留换行符
string.startwith(str[,start,end])判断字符串是否以str开头,添加参数start、end表示在start-end范围内判断
string.strip([str])从两端同时截去空格或者str
string.sawpcase()将字符串中的大写字母转换为小写字母,将小写字母转换为大写字母
string.title()将字符串的中所有的首字母大写,title格式
string.upper()将字符串中的小写字母转换为大写字母
string.isdecimal()非空字符串只包含十进制字符,返回True
string = 'asdaaaa\tfgh'
string1 = '中文'
string2 = '---'
print(string.capitalize())
print(string.center(20))
print(string.count('a'))
encode = string.encode(encoding='latin-1', errors='strict')
print(type(encode))
print(encode.decode(encoding='GBK', errors='strict'))
print(string.endswith("h", 0, 1))
print(string.expandtabs(20))
print(string.find('a'))
# print(string.index('x'))
print(string1.isalnum())
print(string2.isalpha())
print(string.isdigit())
print(string.isnumeric())
print(string.isspace())
string3 = "title"
print(string3.istitle())

tuple1 = ('1', '2', '3', '4')
list1 = ['1', '2', '3', '4']
set1 = {'1', '2', '3', '4'}
dict1 = {'1': 'yi', '2': 'er', '3': 'san'}
print(string2.join(dict1))
print(string2.ljust(10, "@"))
print(string2.lstrip("-"))
print(111)

intab = "aeiou"
outtab = "12345"
dict1 = {'a': '1', 'e': '2', 'i': '3', 'o': '4', 'u': '5'}
# trantab = str.maketrans(intab, outtab)

trantab = str.maketrans(dict1)

str = "this is string example....wow!!!"
print(str.translate(trantab))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值