1、访问字符串中的值
【Python】支持 list 方式访问:
a = 'abcdefg'
print(a[3]) //d
print(a[:]) //abcdefg
print(a[:2]) //ab
print(a[1:]) //bcdefg
【PHP】只支持数组方式访问:
$a = 'abcdefg';
echo $a[0]; // a
2、字符串更新
【Python】不支持 a[0] = 'A'
【php】支持 $a[0] = 'A';
3、字符串运算符
【Python】
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | >>>a + b'HelloPython' |
* | 重复输出字符串 | >>>a * 2'HelloHello' |
[] | 通过索引获取字符串中字符 | >>>a[1]'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4]'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H" in aTrue |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M" not in aTrue |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>print r'\n'\n>>> print R'\n'\n |
% | 格式字符串 |
【php】使用 . 连接字符串
4、字符串格式化
【Python】在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
print('my name is %s and weight is %d kg' % ('peter', 75))
python字符串格式化符号:
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
在正数前面显示空格 | |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
【php】使用 sprintf() 来格式化:
echo sprintf('my name is %s and weight is %d kg。', 'peter', 75);
5、多行复杂字符串
【Python】使用“三引号”(3个单引号或3个双引号开头,并且同样的引号结尾)
a = '''hi
I am peter
can I help you
'''
优点:再也不用担心内容单引号或双引号转义了,哦也!
【php】
1) 使用在字符串里面换行就可以了。
$a = 'hi
I am peter
can I help you
';
2)使用 php DOC
$a = <<<DOC
hi
I am peter
can I help you?
DOC;
6、Unicode 字符串
【Python】Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:
>>> u'Hello World !'
【php】不能定义 Unicode 字符串,但可以把其他编码的字符串转码成 Unicode 编码:
base_convert(bin2hex(iconv('UTF-8',"UCS-4",$m)),16,10);