概述
1 python中“//”是一个算术运算符,表示整数除法,它可以返回商的整数部分(向下取整)。
2 setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的;
setattr(object, name, value)
- object -- 对象。
- name -- 字符串,对象属性。
- value -- 属性值。
>>>class A(object):
...
bar = 1
...
>>> a = A()
>>> getattr(a, 'bar')
# 获取属性 bar 值
1
>>> setattr(a, 'bar', 5)
# 设置属性 bar 值
>>> a.bar
5
如果属性不存在会创建一个新的对象属性,并对属性赋值:
>>>class A():
...
name = "runoob"
...
>>> a = A()
>>> setattr(a, "age", 28)
>>> print(a.age)
28
3 Python 中的isinstance()函数,isinstance()是Python中的一个内建函数。是用来判断一个对象的变量类型;
语法:
isinstance(object, classinfo)
如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False;
与type()区别
type() 不会认为子类是一种父类类型,不考虑继承关系;
isinstance() 会认为子类是一种父类类型,考虑继承关系;
如果要判断两个类型是否相同推荐使用 isinstance();
>>> isinstance(1, int)
True
>>> isinstance(1.0, float)
True
>>>isinstance(1,(int,float))
True
>>> class Myclass:
pass
>>> test = Myclass()
>>> isinstance(test, Myclass)
True
4 json
Python模块中的模块提供了一种称为dump()
它将Python对象转换为适当的json对象
5 eval()函数
其作用就是把数据还原成它本身或者是能够转化成的数据类型:
将字符串string
对象转化为有效的表达式参与求值运算返回计算结果;
>>> s='8*8'
>>> eval(s)
64
>>> eval('2+5*4')
22
>>> x=1
>>> y=4
>>> eval('x+y')
5
>>> eval('98.9')
98.9
>>> eval('9.9n')
9.9
>>> eval('9.9ntr
trn')
9.9
eval
可以将字符串转换成字典,列表,元组;
>>> l = "[2,3,4,5]"
>>> ll=eval(l)
>>> ll
[2, 3, 4, 5]
>>> type(ll)
<type 'list'>
>>> d="{'name':'python','age':20}"
>>> dd=eval(d)
>>> type(dd)
<type 'dict'>
>>> dd
{'age': 20, 'name': 'python'}
>>> t='(1,2,3)'
>>> tt=eval(t)
>>> type(tt)
<type 'tuple'>
>>> tt
(1, 2, 3)
6 ast.literal_eval()
literal_eval()
函数:则会判断需要计算的内容计算后是不是合法的Python类型,如果是则进行运算,否则就不进行运算;
出于安全考虑,对字符串进行类型转换的时候,最好使用ast.literal_eval()
最后
以上就是尊敬蜗牛为你收集整理的python的一些函数setattr(), isinstance(),dump(),eval(),ast.literal_eval()的全部内容,希望文章能够帮你解决python的一些函数setattr(), isinstance(),dump(),eval(),ast.literal_eval()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复