当前位置:   article > 正文

【自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

【自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

一、前言

  本文将介绍字符串常用函数,包括:len();max() 和 min();ord()和chr();bin()、oct()、hex()等。

二、正则表达式与Python中的实现

1.字符串构造

2. 字符串截取

【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

3. 字符串格式化输出

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

4.字符转义符

【自然语言处理】NLP入门(三):1、正则表达式与Python中的实现(3):字符转义符

ASCII编码

CharacterOctalDecimalHexadecimalBinary
3位8进制数十进制数2位16进制数8位2进制数
NUL (null)00000000000000
SOH (start of heading)00110100000001
STX (start of text)00220200000010
ETX (end of text)00330300000011
EOT (end of transmission)00440400000100
ENQ (enquiry)00550500000101
ACK (acknowledge)00660600000110
BEL (bell)00770700000111
BS (backspace)01080800001000
HT (horizontal tab)01190900001001
LF (line feed)012100A00001010
VT (vertical tab)013110B00001011
FF (form feed)014120C00001100
CR (carriage return)015130D00001101
SO (shift out)016140E00001110
SI (shift in)017150F00001111
DLE (data link escape)020161000010000
DC1 (device control 1)021171100010001
DC2 (device control 2)022181200010010
DC3 (device control 3)023191300010011
DC4 (device control 4)024201400010100
NAK (negative acknowledge)025211500010101
SYN (synchronous idle)026221600010110
ETB (end of transmission block)027231700010111
CAN (cancel)030241800011000
EM (end of medium)031251900011001
SUB (substitute)032261A00011010
ESC (escape)033271B00011011
FS (file separator)034281C00011100
GS (group separator)035291D00011101
RS (record separator)036301E00011110
US (unit separator)037311F00011111
SPACE040322000100000
!041332100100001
"042342200100010
#043352300100011
$044362400100100
%045372500100101
&046382600100110
047392700100111
(050402800101000
)051412900101001
*052422A00101010
+053432B00101011
,054442C00101100
-055452D00101101
.056462E00101110
/057472F00101111
0060483000110000
1061493100110001
2062503200110010
3063513300110011
4064523400110100
5065533500110101
6066543600110110
7067553700110111
8070563800111000
9071573900111001
:072583A00111010
;073593B00111011
<074603C00111100
=075613D00111101
>076623E00111110
?077633F00111111
@100644001000000
A101654101000001
B102664201000010
C103674301000011
D104684401000100
E105694501000101
F106704601000110
G107714701000111
H110724801001000
I111734901001001
J112744A01001010
K113754B01001011
L114764C01001100
M115774D01001101
N116784E01001110
O117794F01001111
P120805001010000
Q121815101010001
R122825201010010
S123835301010011
T124845401010100
U125855501010101
V126865601010110
W127875701010111
X130885801011000
Y131895901011001
Z132905A01011010
[133915B01011011
\134925C01011100
]135935D01011101
^136945E01011110
_137955F01011111
`140966001100000
a141976101100001
b142986201100010
c143996301100011
d1441006401100100
e1451016501100101
f1461026601100110
g1471036701100111
h1501046801101000
i1511056901101001
j1521066A01101010
k1531076B01101011
l1541086C01101100
m1551096D01101101
n1561106E01101110
o1571116F01101111
p1601127001110000
q1611137101110001
r1621147201110010
s1631157301110011
t1641167401110100
u1651177501110101
v1661187601110110
w1671197701110111
x1701207801111000
y1711217901111001
z1721227A01111010
{1731237B01111011
|1741247C01111100
}1751257D01111101
~1761267E01111110
DEL (delete)1771277F01111111

5. 字符串常用函数

  在Python中有很多内置函数可以对字符串进行操作。如len()ord()chr()max()min()等。

a. 字符串长度:len()

s = "Hello World"
length = len(s)
print(length) 
  • 1
  • 2
  • 3
  • 输出: 11

b. max() 和 min()

  根据ASCII值返回字符串中的最大或最小字符。

s = "abcde"
max_char = max(s)
min_char = min(s)
print(max_char)  # Output: 'e'
print(min_char)  # Output: 'a'
  • 1
  • 2
  • 3
  • 4
  • 5

  由 ASCII码表可知’1’<‘2’,‘1’<‘a’,‘A’<‘a’,那么汉字?

max('我','a','A','1') 
  • 1
min('我','a','A','1')
  • 1
  1. ASCII码(American Standard Code for Information Interchange) 是最早的字符编码方案,使用7位(后来扩展为8位)二进制数字来表示128(后来扩展为256)个字符,包括英文字母、数字、标点符号和一些控制字符。ASCII码最初只为英语设计,不支持其他语言字符。

  2. Unicode码(Universal Character Set,通用字符集) 是一种更加全面的字符编码方案,包含了几乎所有已知的文字符号、标点符号、符号、文字、音标、图形符号等。Unicode码使用16位(后来扩展为32位)二进制数字来表示字符,所以可以表示更多的字符。Unicode码的目标是覆盖全球所有的字符,并为各种语言和文化提供一致的字符编码方案。

  ASCII码是Unicode码的一个子集,在ASCII码中,只使用了Unicode码的前128个字符。~ 所以上述汉字最大
在这里插入图片描述

  • ASCII码前面补零——>Unicode码

c. Unicode码转换:ord()和chr()

  • ord() 返回给定字符的 Unicode 码点
  • chr() 返回给定 Unicode 码点对应的字符
char = 'A'
unicode_code = ord(char)
print(unicode_code)  # Output: 65

unicode_code = 65
char = chr(unicode_code)
print(char)  # Output: 'A'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
ord('好')
  • 1
22909
  • 1
chr(22909)
  • 1
'好'
  • 1

d. 进制转换函数

  可以使用内置函数 bin()oct()hex() 来进行转换:

  1. bin() 函数:将一个整数转换为二进制表示。
print(bin(10))  # 输出 '0b1010'
  • 1
  1. oct() 函数:将一个整数转换为八进制表示。
print(oct(10))  # 输出 '0o12'
  • 1
  1. hex() 函数:将一个整数转换为十六进制表示。
print(hex(10))  # 输出 '0xa'
  • 1

在这里插入图片描述

  上述函数不是特定字符串对象的方法,而是可以直接用于字符串或其他兼容的数据类型。

函数与方法之比较

  在Python中,函数(function)和方法(method)都是可调用的对象,但它们之间有一些区别:

  1. 函数(Function)
    • 函数是一段可重复使用的代码块,它可以接受输入参数,并且在执行完任务后返回一个结果。
    • 函数可以独立存在,不依赖于任何对象或类。
    • 在Python中,函数可以通过def关键字定义,并可以在任何地方调用。
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # Output: Hello, Alice!
  • 1
  • 2
  • 3
  • 4
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
class Dog:
    def __init__(self, name):
        self.name = name
    
    def bark(self):
        return f"{self.name} says Woof!"

my_dog = Dog("Buddy")
print(my_dog.bark())  # Output: Buddy says Woof!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述

  函数是独立的代码块,而方法是与类或对象相关联的函数。 方法依赖于类和对象的概念,而函数则是更一般的概念,不一定与特定的类或对象相关联。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/421140
推荐阅读
相关标签
  

闽ICP备14008679号