# -*- conding: utf-8 -*-
#1 numberic数字类型: int,float,complex
#int()/float()/complex()
a=10
b=8.5
print(bin(a)) #0b1010
# 数字类型的内置函数
print(a.bit_length()) #4
print(a.real,a.imag) #实部和虚部:10 0
print(a.to_bytes(1,'big')) #b'\n'
print(a.as_integer_ratio()) #(10, 1)
print(a.conjugate()) #10
print(a.denominator) #1
print(a.numerator) #10
#print(a.from_bytes(1,"little"))
print(b.hex()) #0x1.1000000000000p+3
print(b.__floor__())
#2 string字符串类型
#创建字符串
astr=str('jason') #astr="jason"
#访问字符串中元素
print(astr[0]) #j
print(astr[1:3]) #as
#更新字符串
print("new string:",astr[:len(astr)]+"diu") #jasondiu
#转义字符
#'\',\\','\'','\"','\a','\b','\000','\n','\r','\v','\t','\f','\yyy','\xyy'
#续行符'\'
print("jason1 \
jason2 \
jason3 ")
#反斜杠'\\',单引号'\'',双引号'\"'
print("\\",'',"\'",'',"\"",'',"\a",'',"\000")
#纵向制表符‘\v’
print("jason\vdiu") #纵向制表符
print("jason\tdiu") #横向制表符
#‘r’:回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。
print("jason\rdiu")
print("jason welcome the new coleagues\rdiu")
#换页'\f'
print("jason\fdiu")
# 8进制表示:\yyy
print("\110\145\154\154\157\40\127\157\162\154\144\41")
print("\61") #ascii码图‘1’的十进制值为49,8进制为0o61,16进制为0x31
#16进制表示:\xyy
print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")
# 字符串运算符
a="jason"
b="diu"
c=a+" "+b # '+':字符串连接
print(c,a*2,b[0],c[1:4]) # '*':重复输出字符串, '[]':通过索引获取字符串中字符,'[:]':截取字符串中的一部分,遵循左闭右开原则,
#格式字符串
#字符串格式化符号: %c,%s,%d,%u,%o,%x,%X,%f,%e,%E,%g,%G,%p
#格式化操作符辅助指令: *,-,+,<sp>,#,0,%,(var),m.n.
print("myname=%s,age=%d" %("jason",30))
#f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
name="jason"
c=f'diu {name}'
d=f'{2**10}'
print(c,d)
#字符串内建函数
#(1)captalize:将字符串的第一个字符转换为大写
astr="jason"
print(astr.capitalize()) #Jason
#(2)center:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格
print(astr.center(10,'*')) # **jason***:中间对齐
print(astr.ljust(10,'*')) #jason***** :左对齐
#rjust(width,[, fillchar]):返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
#(3)count:返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
print(astr.count('a',0,len(astr))) # =1, 'a'在字符串astr里出现次数
#(4)decode(encoding="utf-8", errors="strict") and encode
# 但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回
bstr="中国"
print("没有编码前:",bstr) # 没有编码前: 中国
str_utf8=bstr.encode("UTF-8")
str_gbk=bstr.encode("GBK")
print("UFT-8 编码后:",str_utf8) #UFT-8 编码后: b'\xe4\xb8\xad\xe5\x9b\xbd'
print("GBK 编码后:",str_gbk) # GBK 编码后: b'\xd6\xd0\xb9\xfa'
print("UTF-8 解码后:",str_utf8.decode("UTF-8","strict")) #UTF-8 解码后: 中国
print("GBK 解码后:",str_gbk.decode("GBK","strict")) #GBK 解码后: 中国
#(5)endswith(suffix, beg=0, end=len(string)):
# 检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
astr="hello world!!!"
suffix="!!"
print(astr.endswith(suffix)) #默认从0开始,=True
#startswith(substr, beg=0,end=len(string)):检查字符串是否是以指定子字符串 substr 开头,
# 是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
print(astr.startswith('he'))
#(6)expandtabs(tabsize=8):把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8
astr="hello\tworld\t!!!"
print(astr,'\n',astr.expandtabs())
#(7)find(str, beg=0, end=len(string)):
# 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
print(astr.find('world')) #=6
print(astr.find('opk')) #=-1
#rfind(str, beg=0,end=len(string)):类似于 find()函数,不过是从右边开始查找.
#(8)index(str, beg=0, end=len(string)):跟find()方法一样,只不过如果str不在字符串中会报一个异常。
#rindex( str, beg=0, end=len(string)):类似于 index(),不过是从右边开始
#(9)isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
astr="hello"
bstr="This Is The World!"
print(astr.isalnum()) #True
print(astr.isalpha()) #True,只有字母
print(astr.isascii()) #True
print(astr.isdigit()) #False
print(astr.islower()) #True
print(astr.isdecimal()) #False 如果字符串是否只包含十进制字符返回True,否则返回False。
print(astr.isnumeric()) #False
print(astr.isspace()) #False,没有包含空格
print(astr.isupper()) #False,没有包含大写字母
print(bstr.istitle()) #如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
print(astr.isprintable()) #
print(astr.isidentifier())
#(10)join(seq):以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
s1='*'
s2=''
seq=("h","e","l","l","o") # 字符串序列(元组)
print(s1.join(seq)) #将'-'加入到seq字符串列表中
print(s2.join(seq))
#(11)len:返回字符串长度,内置函数
#(12)lower:转换字符串中所有大写字符为小写.
astr="8888This Is The world!!8888"
print(astr.lower())
#upper:转换字符串中的小写字母为大写
print(astr.upper())
#swapcase():将字符串中大写转换为小写,小写转换为大写
print(astr.swapcase())
#(13)lstrip:截掉字符串左边的空格或指定字符。
print(astr.lstrip('8')) #裁掉左边的8,右边的8保留:This Is The world!!8888
#rstrip():删除字符串末尾的空格或指定字符。
print(astr.rstrip('8')) #8888This Is The world!!
#strip():方法用于移除字符串头尾指定的字符(默认为空格)或字符序列
print(astr.strip('8')) #This Is The world!!
#(14)max
#(15)min
#replace:replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
print(astr.replace('8','9',5)) #指定替换5次: 9999This Is The world!!9888
#(16)split(str="", num=string.count(str)):以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
#返回分割后的字符串列表。
print(astr.split()) #与空格为分隔符切割:['8888This', 'Is', 'The', 'world!!8888']
print(astr.split('T')) #['8888', 'his Is ', 'he world!!8888'], 所有'T'被裁掉
print(astr.split('T',1))# ['8888', 'his Is The world!!8888'],只裁掉一个“T”
#(17)splitlines(): 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,
# 如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
astr="ab c\n\njas\n\rksjd\r"
print(astr.splitlines()) #['ab c', '', 'jas', '', 'ksjd'],默认为False,去掉换行符
print(astr.splitlines(True)) #['ab c\n', '\n', 'jas\n', '\r', 'ksjd\r'],保留换行符
#zfill():方法返回指定长度的字符串,原字符串右对齐,前面填充0
astr="jason"
print(astr.zfill(20)) #000000000000000jason
#3 Binary Sequence Types — bytes, bytearray, memoryview:二进制类型处理以及Struct模块
#(1) bytes
abin=b'\f0\f1\f2' #定义字符串,类型属于bytes,同字符串类型一样,可以使用类似字符串的内置函数
bhex="313131" #定义字符串,类型属于str
print(type(abin),type(bhex)) #<class 'bytes'> <class 'str'>
print(bytes([1,2])) #列表
print(bytes("12","utf-8")) #字符串需要加encoding
#hex():Return a string object containing two hexadecimal digits for each byte in the instance.
print(abin.hex('-')) #0c-30-0c-31-0c-32 将二进制转换成十六进制,'\f'=0x0c换页键
#fromhex:returns a bytes object, decoding the given string object.
# The string must contain two hexadecimal digits per byte, with ASCII whitespace being ignored.
print(bytes.fromhex(bhex)) #b'111' 将十六进制转换为字节
#(2)bytearray
print(bytearray(b'333332').hex('-')) #33-33-33-33-33-32
print(bytearray.fromhex(bhex)) #bytearray(b'111')
#(3)memoryview
#v = memoryview(bytearray('abcdefg','utf-8')) #第一个参数为字符串,第二个参数要为encoding
#print(v[1],v[-1],v[1:5],v[1:5].tobytes()) #98 103 <memory at 0x000001A3C8ECF100> b'bcde'
m0 = memoryview(b'abcefg')
print(m0[1],m0[-1],bytes(m0[1:4])) #98 103 b'bce'
#Struct模块(后续补充.....)
python 句子以数字结尾 python数字字符
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python 数字字符差 python 字符和数字相加
上次推出这个用Python刷题leetcode系列后,有人喜欢有人厌,毕竟众口难调。废话少说,继续刷题。题目:两数相加(中等难度)给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设
Python 数字字符差 c语言字符与字符相加 c语言字符串相加 list 相加 python list相加