简单理解python下的字符串
来源:互联网 发布:淘宝客服规范用语 编辑:程序博客网 时间:2024/06/10 23:27
学过c的朋友都知道,字符(‘ ’)和字符串(“ ”)是不一样的,可是在python中,这些东西的方方面面的门道比较多,在我刚学习的时候也懵比了好一阵子,也就想着总结总结
首先我们需要了解的是在学习python中,可以简单地理解单引号,双引号,三引号,他们括起来的东西都是字符串,也就是说在开始学习python的过程中,就当做是没有字符一说
1,
通过上面的例子可以很容易的看清楚s,s1, s2 , s3都是字符串(通过type类型测试)
2,转义字符
我们简单提一下c的转义字符(’\xhh‘, 注意这里的hh是两个,过多的话可能会超过,产生警告out of range),(’\ddd‘,这里需要的是1-3位8进制的数,希望大家不要弄混)
#include <stdio.h>#include <conio.h>int main(){int a = '\113';int b = '\x13';printf("%d,, ,%d,,", a, b);getch();}
结果如下:
75,, ,19,,
但是在python中,他们还是有挺大的区别的
我们可以看到,在上面的字符串s4里面有一个转义字符(\n)存在,所以编译器对它的处理肯定和简单地字符串处理是不一样的
s4直接输出和print S4输出之所以不同,是因为S4的直接输出就是输出s4本身,我们一开始就给了s4赋值了,而对于print S4的输出,是因为print函数(python自带库函数)对S4进行了处理,在输出是发现里面有转义字符(\n也就是换行的意思),所以是先输出abc,然后换行,紧接着输出456
这里还有一个是raw(破坏转义字符)python中将r放在包含有转义字符的字符串前面
这里我们也能直接看到,在print中转义字符的作用被破坏了,也就是说并不能起到换行的作用了
unicode编码也是如此,就是在带有转义字符的字符串前面加了一个u
unicode编码用两个字节(16位)来表示,而ascii码(8位)有一个字节来表示,汉子在ascii中不是很好的被支持,但是在unicode中可以好一点,16位,也就是65535个,容纳一般的汉子是够了,而且还知道字符编码是用十六进制来表示的,也就是说前面加上一个’0x‘,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97,
但是千万注意c和python的区别
而且我们知道,python中本就不谈论对象的类型(并不像c分的那么细),所以我们可以理解为上面的那些字符串都是常量,我们并不可以更改这些内容,也是在一定的区域存放的
由上可知,我们随意更改一定会导致错误的,所以我们一定要注意
对于函数的返回值,我们也要值得注意:
def tur_a(val1, val2= 3): n = val1 + val2 m = val1 - val2 l = val1 * val2 z = val1 /val2 return n, m, l, zprint "go , go , go"b = tur_a(9)print bprint b[0], b[1], b[2], b[3]print "game over"
输出结果:
我们可以看到,对于一个函数返回多个值的时候,应该依次赋给相应个数的值,但是如果我们赋值给了一个变量的话,就相当于赋值了一个元组,当然,我们也可以通过加’【】‘的办法来获取具体的值,就如同c中的数组
对于字符串,当然我们也就不能忽略输入的这两个函数(input,raw_input),这里,我们应该注意的是它的返回值
input()的返回值是整数
raw_input()的返回值是字符型的
但是,这里我们可以通过int类型强转
最后简单提一下常用字符函数:
startswith:endswith,isalnum,isalpha,isdigit
s.startswith(s1):判断s字符串是不是以s1开头的,返回值为布尔类型
s.endswith(s1):同理,判断s字符串是不是以s1结束的,返回值同样为布尔类型
s.isalnum():判断s中是不是全是由数字和字母构成,并没有特殊字符,(哈哈,可以增加密码强度)
s.ialpha():判断s中是不是全是字母,返回布尔类型
s.isdigit();判断是否全为数字
哈哈,其实也挺好记的
- 简单理解python下的字符串
- 简单理解python下的变量和内存
- python简单的格式化字符串
- Python下的字符串函数
- 关于python字符串编码问题的理解
- python的多线程简单实例理解
- Python yield的理解与简单测试
- Python中yield的简单理解
- 简单地理解 Python 的装饰器
- 简单地理解 Python 的装饰器
- 简单地理解 Python 的装饰器
- 字符串简单理解
- Python字符串匹配的简单应用
- 使用Python做简单的字符串匹配
- 字符串核函数的简单python实现
- iOS下数据库的简单理解
- Python - iterable 简单理解
- python迭代器简单理解
- iOS页面间跳转动画效果
- linux中内存泄漏的检测(五)记录内存泄漏的代码
- 并查集详解
- 将盘mount到已存在路径,路径下文件显示不了
- initrd和initramfs 解析
- 简单理解python下的字符串
- x265-1.7版本-common/threadpool.cpp注释
- 螺旋矩阵题解
- Shell & SSH
- lua 正则表达式使用
- 【Android】项目常用功能集锦(一)
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)解决方法
- ListView-Arrayadapter
- 项目中使用js回显ztree使用json格式