目录
字符串
格式化输出
字符串的常用方法
1、去掉空格和特殊符号
2、字符串的测试和替换函数
3、字符串的分割
4、连接字符串
5.截取字符串(切片)
编辑
6、eval函数
7、关键字in(返回布尔值)
8、startswith()、endswith()
9、字符串函数
异常处理
异常名称与对应的描述一览表
异常处理
字符串
格式化输出
形式:
'%[-][+][0][m][.n]格式字符'%表达式
print('%10d'%3) #整数打印
print('%.4f'%3.14159) #保留四位小数
print('%c'%65) #输出对应ASC码
print('%s'%65) #字符串
print('%s'%[1,2,3])
print(str([1,2,3]))
print('%d'%'123') #把字符串当做整数打印,报错
3
3.1416
A
65
[1, 2, 3]
[1, 2, 3]
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\cpname.py", line 92, in <module>
print('%d'%'123')
TypeError: %d format: a real number is required, not str
使用format()方法进行格式化
print("The number {0:,} in hex is:{0:#x}, the number {1} oct is {1:#o}".format{123456,789})
print("The number {1:,} in hex is:{1:#x}, the number {0} oct is {0:#o}".format{123456,789})
print("my name is {name:>20},my age is {age}.".format(name='yjg',age=22))
The number 123,456 in hex is:0x1e240, the number 789 oct is 0o1425
The number 789 in hex is:0x315, the number 123456 oct is 0o361100
my name is yjg,my age is 22.
Process finished with exit code 0
字符串的常用方法
1、去掉空格和特殊符号
name.strip() #去掉空格和换行符
name.strip('xx') #去掉某个字符串
name.istrip() #去掉左边的空格和换行符
name.rstrip() #去掉右边的空格和换行符
2、字符串的测试和替换函数
S.startswith(prefix[,start[,end]])#是否以prefix开头
S.endswith(suffix[,start[,end]])#以suffix结尾
S.isalnum() #是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isdigit() #是否全是数字,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.islower() #S中的字母是否全是小写
S.isupper() #S中的字母是否全是大写
S.istitle() #S是否是首字母大写的
3、字符串的分割
name.split() #默认按照空格分隔
name.split(',') #按照逗号分割
一定注意:split默认按照空格分割!吃过好几次亏了555
4、连接字符串
', '.join(slit)用逗号连接slit变成一个字符串,slit可以是字符,列表,字典(可迭代的对象)。int类型不能被连接
5.截取字符串(切片)
str = '0123456789'
print(str[0:3])#截取第一位到第三位的字符
print( str[6:])#截取第七个字符到结尾
print(str[2])#截取第三个字符
print(str[::-1])#创造一个与原字符串顺序相反的字符串
print(str[-3:-1])#截取倒数第三位与倒数第一位之前的字符
print(str[-3:])#截取倒数第三位到结尾
012
6789
2
9876543210
78
789
Process finished with exit code 0
6、eval函数
将公式转换成表达式
import math
print( eval( '3+4'))
a,b=3,5
print( eval( 'a+b' ))
print( eval( ' math.sqrt( 3)'))
print( eval( 'b'))
7
8
1.7320508075688772
5
Process finished with exit code 0
7、关键字in(返回布尔值)
print( 'a' in 'abcde' )
print( 'ab' in 'abcde' )
print( 'j' in 'abcde' )
True
True
False
Process finished with exit code 0
8、startswith()、endswith()
startswith()方法用于检查字符串是否是以指定子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定值,则在指定范围内检查。
print( ' Beautiful'.startswith( ' Be' ))
print( ' Beautiful'.startswith( 'Be' ,5))
print( ' Beautiful'.startswith( 'Be' ,0,5))
print( ' Beautiful '.endswith( 'ful ' ))
True
False
False
True
Process finished with exit code 0
9、字符串函数
string.digits所有数字
string.ascii_letters所有字母
string.ascii_lowercase所有小写字母string.ascii_uppercase所有大写字母
import string
print( string.digits)
print( string.ascii_letters)
print( string.ascii_lowercase)
print( string.ascii_uppercase)
0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Process finished with exit code 0
异常处理
在编写程序的过程中,程序员通常希望识别正常执行的代码和执行异常的代码这种异常可能是程序的错误,也可以是不希望发生的事情。为了能够处理这些异常,可以在所有可能发生这种情况的地方使用条件语句进行判断。但这么做既效率低,也不灵活,而且还无法保证条件语句覆盖了所有可能的异常。为了更好地解决这个问题,Python语言提供了非常强大的异常处理机制。通过这种异常处理机制,可以直接处理所有发生的异常,也可以选择忽略这些异常。
开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。总的来说,编写程序时遇到的错误可大致分为2类:
语法错误:print "Hello,World!” Python 3不再支持这种写法
运行错误:a= 1/0
在 Python中,这种运行时产生错误的情况叫做异常(Exceptions)
异常名称与对应的描述一览表
异常名称 | 描述 |
BaseException | 所有异常的基类 |
SystemExit | 解释器请求退出 |
Keyboardlnterrupt | 用户中断执行(通常是输入^C) |
Exception | 常规错误的基类 |
Stoplteration | 迭代器没有更多的值 |
GeneratorExit | 生成器(generator)发生异常来通知退出 |
StandardError | 所有的内建标准异常的基类 |
ArithmeticError | 所有数值计算错误的基类 |
FloatingPointError | 浮点计算错误 |
OverflowError | 数值运算超出最大限制 |
IndexError | 序列中没有此索引(index) |
KeyError | 映射中没有这个键 |
MemoryError | 内存溢出错误(对于Python解释器不是致命的) |
NameError | 未声明/初始化对象(没有属性) |
UnboundLocalError | 访问未初始化的本地变量 |
ReferenceError | 弱引用(Weak reference)试图访问已经垃圾回收了的对象 |
RuntimeError | 一般的运行时错误 |
NotlmplementedError | 尚未实现的方法 |
SyntaxError Python | 语法错误 |
lndentationError | 缩进错误 |
zeroDivisionError | 除(或取模)零(所有数据类型) |
AssertionError | 断言语句失败 |
AttributeError | 对象没有这个属性 |
EOFError | 没有内建输入,到达EOF标记 |
EnvironmentError | 操作系统错误的基类 |
lOError | 输入/输出操作失败 |
OSError | 操作系统错误 |
WindowsError | 系统调用失败 |
lmportError | 导入模块/对象失败 |
LookupError | 无效数据查询的基类 |
异常处理
当一个程序发生异常时,代表该程序在执行时出现了非正常的情况,无法再执行下去。默认情况下,程序是要终止的。如果要避免程序退出,可以使用捕获异常的方式获取这个异常的名称,再通过其他的逻辑代码让程序继续运行,这种根据异常做出的逻辑处理叫作异常处理。
开发者可以使用异常处理全面地控制自己的程序。异常处理不仅仅能够管理正常的流程运行,还能够在程序出错时对程序进行必要的处理。大大提高了程序的健壮性和人机交互的友好性。
那么,应该如何捕获和处理异常呢?可以使用try语句来实现。
例题