简单理解python下的字符串

学过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, z

print "go , go , go"
b = tur_a(9)
print b
print 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字符串是一种不可变的数据类型,支持索引、切片以及多种内置方法来处理转换数据[^1]。以下是几个常见的字符串操作及其应用实例。 #### 示例代码展示 以下是一些基础的字符串操作示例: ```python # 创建字符串并访问字符 s = "hello world" print(s[0]) # 输出 'h' print(s[-1]) # 输出 'd' # 切片操作 substring = s[0:5] # 截取前五个字符 print(substring) # 输出 'hello' # 替换子字符串 new_s = s.replace("world", "Python") print(new_s) # 输出 'hello Python' # 转换大小写 upper_case = s.upper() lower_case = upper_case.lower() print(upper_case, lower_case) # 输出 'HELLO WORLD' 'hello world' # 拆分与连接 words = s.split() # 默认按空格拆分为列表 ['hello', 'world'] joined_string = "-".join(words) print(joined_string) # 输出 'hello-world' ``` 以上代码展示了如何创建字符串、执行基本的操作如替换、大小写转换、分割拼接等[^2]。 #### 推荐学习资源 对于初学者来说,可以参考官方文档中的字符串章节[^3],它提供了详尽的方法说明使用案例。此外,还有许多在线平台提供互动式的编程挑战,比如 LeetCode 或 HackerRank 的入门级题目可以帮助巩固这些技能。 #### 练习建议 尝试完成下面几道简单的练习题以加深理解: 1. 编写函数 `reverse_string` 来反转输入字符串。 2. 实现一个程序判断给定字符串是否为回文(忽略大小写及非字母字符)。 3. 设计一段脚本统计某段文字里单词的数量。 通过实践上述例子能够有效提升对 Python 字符串功能的认识程度[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值