> 路径写法
r的作用跟\\的作用是一致的,都是防止程序将\当作转义字符,正确的路径写法有下面三种:
1、 os.path.exists('E:/test/file.txt')
2、 os.path.exists('E:\\test\\file.txt')
3、 os.path.exists(r'E:\test\file.txt')
字符串界定符前面加字母r或R表示原始字符串,其中的特殊字符不进行转义,但字符串的最后不能是单个 \ 符号
> input
语法:x = input('提示: ')
不管用户输入什么,input()函数的返回结果都是字符串,可强制类型转换。
num = int(input("请输入样本次数:"))
> 浮点数不精确性
原因:二进制,可能会出现小数位数不确定的情况
print(1.1+2.2) #3.3000000000000003
print(1.1+2.1) #3.2
解决方案:导入模块decimal
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) #3.3
> 格式化
print('我叫{},今年{}岁了'.format(name,age)) # 字符串格式化
> 记录字典键值对顺序
- 字典能够将信息关联起来,但它不记录你添加键值对的顺序
- 要记录键值对的添加顺序,可使用模块collections中的OrderedDict类
- OrderedDict实例的行为几乎与字典相同,区别只在于记录了键值对的添加顺序
from collections import OrderedDict # 调用OrderedDict()来创建一个空的有序字典,并将其存在favorite_languages中 favorite_languages = OrderedDict() favorite_languages['jen'] = 'python' favorite_languages['sarah'] = 'c' favorite_languages['edward'] = 'ruby' favorite_languages['phil'] = 'python' for name, language in favorite_languages.items(): print(name.title() + "'s favorite language is " + language + ".")
> read末尾多空行
# 关键字with在不再需要访问文件后将其关闭
with open('pi.txt') as file:
contents = file.read()
print(contents)
相较于原始文件,该输出唯一不同的点就是末尾多了一个空行
空行原因:read()到达文件末尾时返回一个空字符串,显示出来时就是一个空行
解决方法:利用rstrip()删除字符串末尾的空白
print(contents.rstrip())
strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
rstrip:用来去除结尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)
> 字典get获取数据
除了使用key查找数据,还可以使用get来获取数据:
info = {'name':'班长','age':18}
print(info['age']) # 获取年龄
# print(info['sex']) # 获取不存在的key,会发生异常
# dictname.get(key[,value]) key:指定键值 value:可选默认值
print(info.get('sex')) 获取不存在的key,获取到空的内容,不会出现异常
print(info.get('sex', '男')) # 获取不存在的key, 可以提供一个默认值。