单行字符串和多行字符串
1. >>> print('这是一个"单行字符串"') 2. 这是一个"单行字符串" 3. >>> print("这是一个'单行字符串'") 4. 这是一个'单行字符串' 5. >>> print("""这是'多行字符串'的第一行 6. 这是'多行字符串'的第二行 7. 这是'多行字符串'的第三行 8. """) 9. 这是'多行字符串'的第一行 10. 这是'多行字符串'的第二行 11. 这是'多行字符串'的第三行 12. 13. >>>
续行符\
1. a=int(input()) 2. if (a>10 and a<100) or\ 3. (a<-10 and a>-100): 4. print("OK")
字符串转义符的使用
1. >>> print("这里\n有一个换行符") 2. 这里 3. 有一个换行符 4. >>> print("这里\\有一个反斜杠") 5. 这里\有一个反斜杠 6. >>> print("这里\t有一个制表符") 7. 这里 有一个制表符 8. >>> print("这里要有'单引号'也要\"双引号\"") 9. 这里要有'单引号'也要"双引号" 10. >>>
用%操作符控制格式化字符串
1. >>> "%d %d"%(12,12.3) 2. '12 12' 3. >>> "%6d %6d"%(12,12.3) 4. ' 12 12' 5. >>> "%-6d"%(12) 6. '12 ' 7. >>> "%f"%(12) 8. '12.000000' 9. >>> "%6.2f"%(12) 10. ' 12.00' 11. >>> "%e"%(12000) 12. '1.200000e+04' 13. >>> "%10s is %-3d years old."%("小明",15) 14. ' 小明 is 15 years old.'
字符串的索引和切片
1. >>> "青青子衿,悠悠我心。"[-5] 2. '悠' 3. >>> "青青子衿,悠悠我心。"[3] 4. '衿' 5. >>> s="青青子衿,悠悠我心。" 6. >>> s[3] 7. '衿' 8. >>> "青青子衿,悠悠我心。"[1:4] 9. '青子衿' 10. >>> "青青子衿,悠悠我心。"[8:4] 11. '' 12. >>> "青青子衿,悠悠我心。"[:4] 13. '青青子衿' 14. >>> "青青子衿,悠悠我心。"[5:] 15. '悠悠我心。' 16. >>> "青青子衿,悠悠我心。"[5:-2] 17. '悠悠我' 18. >>> print("青青子衿,悠悠我心。"[5:]) 19. 悠悠我心。 20. >>>
format()的用法
1. >>> "{}曰:学而时习之,不亦说乎。".format("孔子") 2. '孔子曰:学而时习之,不亦说乎。' 3. >>> "{}曰:学而时习之,不亦{}。".format("孔子","说乎") 4. '孔子曰:学而时习之,不亦说乎。' 5. >>> "{1}曰:学而时习之,不亦{0}。".format("孔子","说乎") 6. '说乎曰:学而时习之,不亦孔子。' 7. >>> "{}曰:学而时习之,不亦{}。".format("孔子") 8. Traceback (most recent call last): 9. File "<pyshell#3>", line 1, in <module> 10. "{}曰:学而时习之,不亦{}。".format("孔子") 11. IndexError: Replacement index 1 out of range for positional args tuple 12. >>> "{0}曰:学而时习之,不亦{0}。".format("孔子") 13. '孔子曰:学而时习之,不亦孔子。' 14. >>> "{1}曰:学而时习之,不亦{0}。".format("说乎","孔子") 15. '孔子曰:学而时习之,不亦说乎。' 16. >>>
1. >>> s="Hello Pyhon!" 2. >>> "{:25}".format(s) 3. 'Hello Pyhon! ' 4. >>> "{:1}".format(s) 5. 'Hello Pyhon!' 6. >>> "{:^25}".format(s) 7. ' Hello Pyhon! ' 8. >>> "{:>25}".format(s) 9. ' Hello Pyhon!' 10. >>> "{:*^25}".format(s) 11. '******Hello Pyhon!*******' 12. >>> "{:+^25}".format(s) 13. '++++++Hello Pyhon!+++++++' 14. >>> y="-" 15. >>> "{:{}^25}".format(s,y) 16. '------Hello Pyhon!-------' 17. >>> "{:{}^{}}".format(s,y,30) 18. '---------Hello Pyhon!---------' 19. >>> "{0:{1}{3}{2}}".format(s,y,30,"^") 20. '---------Hello Pyhon!---------'
1. >>> a=1234567890 2. >>> "{:-^25,}".format(a) 3. '------1,234,567,890------' 4. >>> "{0:-^25}".format(a) 5. '-------1234567890--------' 6. >>> a=12345.67890 7. >>> "{:.2f}".format(a) 8. '12345.68' 9. >>> "{:>25.2f}".format(a) 10. ' 12345.68' 11. >>> "{:.5}".format(a) 12. '1.2346e+04' 13. >>> "{:.5}".format("Hello Python!") 14. 'Hello'
1. >>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425) 2. '110101001,Ʃ,425,651,1a9,1A9' 3. >>> "{0:e},{0:E},{0:f},{0:%}".format(3.14) 4. '3.140000e+00,3.140000E+00,3.140000,314.000000%' 5. >>> "{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14) 6. '3.14e+00,3.14E+00,3.14,314.00%'
常用的format()方法格式控制信息:
1. >>> "{:.2f}".format(3.1415926) 2. '3.14' 3. >>> "{:x}".format(1010) 4. '3f2' 5. >>> "{:.5}".format("我是一串很长的字符串") 6. '我是一串很' 7. >>> "{:*^10}".format("Python") 8. '**Python**' 9. >>>
字符串的操作函数:+、*、in
1. >>> "你好"+"Python" 2. '你好Python' 3. >>> a="你好"+"Python" 4. >>> a 5. '你好Python' 6. >>> "Hello!"*3 7. 'Hello!Hello!Hello!' 8. >>> "Hello!" in a 9. False 10. >>> "Hello!" in "H" 11. False 12. >>> "H" in "Hello!" 13. True
字符串内置处理函数
1.大小写转换函数
1. >>> s="hello Python" 2. >>> s.lower() 3. 'hello python' 4. >>> s.upper() 5. 'HELLO PYTHON' 6. >>> s.capitalize() 7. 'Hello python' 8. >>> s.swapcase() 9. 'HELLO pYTHON' 10. >>>
2.查找替换函数
1. >>> s="hello Python" 2. >>> s.find("o") 3. 4 4. >>> s.rfind("o") 5. 10 6. >>> s.rfind("s") 7. -1 8. >>> s.replace("hello","He") 9. 'He Python' 10. >>> s.replace("hello","") 11. ' Python' 12. >>>
3.字符串判断函数
1. >>> "hello Python 123".isalnum()#是否英文和字母 2. False 3. >>> "helloPython123".isalnum() 4. True 5. >>> "hello123".isalpha()#是否英文 6. False 7. >>> "hello".isalpha() 8. True 9. >>> "123".isnumeric()#是否数字 10. True 11. >>> "123大".isnumeric() 12. False 13. >>> "hello".islower()#是否小写字母 14. True 15. >>> "hello".isupper()#是否大写字母 16. False 17. >>> "HELLO".isupper() 18. True 19. >>> " 1".isspace()#是否空格 20. False 21. >>> " ".isspace() 22. True 23. >>>
4.字符串头尾判断函数
1. >>> s="hi,python!hi,c++!" 2. >>> s.startswith("hi") 3. True 4. >>> s.startswith("i") 5. False 6. >>> s.endswith("c++!") 7. True 8. >>> s.startswith("hi",3) 9. False 10. >>> s.endswith("hi",3,12) 11. True 12. >>>
5.计算函数
1. >>> s="hi,python!hi,c++!" 2. >>> len(s) 3. 17 4. >>> max(s),min(s) 5. ('y', '!') 6. >>> s.count("h") 7. 3 8. >>> s.count("hi") 9. 2 10. >>>
6.字符串拆分函数
1. >>> s="hi,python,hi,c++!" 2. >>> s.split() 3. ['hi,python,hi,c++!'] 4. >>> s.split(",") 5. ['hi', 'python', 'hi', 'c++!'] 6. >>> s.split(",",2) 7. ['hi', 'python', 'hi,c++!'] 8. >>> ss="" 9. >>> ss.join(s) 10. 'hi,python,hi,c++!' 11. >>>
实例解析——凯撒密码
1. # -*- coding:utf-8 -*- 2. str_yw = input("输入明文文本:") 3. for i in str_yw: 4. if "a" <= i <= "z": 5. print(chr(ord("a") + (ord(i) - ord("a") + 3) % 26), end = "") 6. elif "A" <= i <= "Z": 7. print(chr(ord("A") + (ord(i) - ord("A") + 3) % 26), end = "") 8. else: 9. print(i, end = "") 10. print("\n")
1. # -*- coding:utf-8 -*- 2. str_mw = input("输入密文文本:") 3. for i in str_mw: 4. if "a" <= i <= "z": 5. print(chr(ord("a") + (ord(i) - ord("a") - 3) % 26), end = "") 6. elif "A" <= i <= "Z": 7. print(chr(ord("A") + (ord(i) - ord("A") - 3) % 26), end = "") 8. else: 9. print(i, end = "") 10. print("\n")
1. # -*- coding:utf-8 -*- 2. str_yw = input("输入明文文本:") 3. for i in str_yw: 4. if "a" <= i <= "z": 5. print(chr(ord("a") + (ord(i) - ord("a") + 3) % 26), end = "") 6. elif "A" <= i <= "Z": 7. print(chr(ord("A") + (ord(i) - ord("A") + 3) % 26), end = "") 8. elif 0x4E00 <= ord(i) <= 0x9FA5: 9. print(chr(ord(i) + 3), end = "") 10. else: 11. print(i, end = "") 12. print("\n")
小作业
1.实现isNum()函数,参数为一一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。
3.编写一个函数计算传人字符串中数字字母、空格以及其他字符的个数。