Python - tips01

> 路径写法

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, 可以提供一个默认值。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值