hello,大家好,小编又开始更新了。在之前得两篇文章内容里,如果有什么不懂或者有问题,请私信小编喔!!❤❤今天我们继续着上一章节的学习,继续了解python语言的基础代码:
31 一键帮助
返回对象的哈希值,值得注意的是自定义的实例都是可哈希的,list,dict,set等可变对象都是不可哈希的(unhashable)
In [1]:help(xiaoming)
Help on Student in moudle__main__object:
Class Student(builtins.object)
Methods defined here:
__init__(self,id,name)
__repr__(self)
Data desriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)
32 对象门牌号
返回对象的内存地址
In [1]:id(xiaoming)
Out [1]:9823408
33 获取用户输入
获取用户输入内容
In [1]:input()
aa
Out [1]:'aa'
34 转为整型
int(x,base=10),x可能为字符串或数值,将x装换位一个普通的整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出普通整数的表示范围,一个长整数被返回。
In [1]:int('12',16)
Out [1]:18
35 isinstance
判断object是否为类classinfo的实例,是返回true
In [1]:class Student():
def __init__(self,id,name):
self.id = id
self.name = name
def __repr__(self):
return 'id = '+self.id+', name = '+self.name
In [2]:xiaoming = Student(id='001',name='xiaoming')
In [3]:isintance(xiaoming,Student)
Out [3]:True
36 鉴定父子关系
In [1]:class ubdergraduate(Student):
def studyClass(self):
pass
def attendActivity(self):
pass
In [2]:issubclass(undergraduate,Student)
Out [2]:True
In [3]:issubclass(object,Student)
Out [3]:False
In [4]:issubclass(Student,object)
Out [4]:True
如果class是classinfo元组中某个元素的子类,也会返回True
In [1]:issubclass(int(int,float))
Out [1]:True
37 创建迭代器类型
使用iter(obj,sentinel),返回一个可迭代对象,sentinel可省略(一旦迭代到此元素,立即终止)
In [1]:lst = [1,3,5]
In [2]:for i in iter(lst):
print(i)
1
3
5
In [1]:class TestIter(object):
def __init__(self):
self.l=[1,2,3,4,5]
self.i=iter(self.l)
def __call__(self): #定义了__call__方法的类的实例是可调用的
item = next(self.i)
print("__call__ is called,fowhich would return",item)
return item
def __iter__(self): #支持迭代协议(即定义有__iter__()函数)
print("__iter__ is called!!")
return iter(self.l)
In [2]:t = TestIter()
In [3]:t() #因为实现了__call__,所以t实例能被调用
__call__ is called,which would return l
Out [3]:l
In [4]:for e in TestIter() #因为实现了__iter__ 方法,所以t能被迭代
print(e)
__iter__ is called!!
1
3
2
3
4
5
38 所有对象之根
object是所有类的基根
In [1]:o = object()
In [2]:type(0)
Out [2]:object
39 打开文件
返回文件对象
In [1]:fo = open('E:/yanshi.txt',mode='r',encoding='utf-8')
In [2]:fo.read
Out [2]:'\ufeflife is not so long,\nI use Python to play.'
mode取值表
字符 | 意义 |
'r' | 读取(默认) |
'w' | 写入,并先截断文件 |
'x' | 排它性创建,如果文件已存在则失效 |
'a' | 写入,如果文件存在则在末尾追加 |
'b' | 二进制模式 |
't' | 文本模式(默认) |
'+' | 打开用于更新(读取与写入) |
40 次幂
base为底的exp次幂,如果mod给出,取余
In [1]:pow(3,2,4)
Out [1]:1
41 打印
In [1]:lst = [1,3,5]
In [2]:print(lst)
[1,3,5]
In [3]:print(f'lst:{lst}')
lst: [1,3,5]
In [4]:print('lst:{}'.format(lst))
lst:[1,3,5]
In [5]:print('lst:',lst)
lst: [1,3,5]
42 创建属性的两种方式
返回property属性,典型的用法:
class C:
def __init__(self):
self._x = None
def getx(self):
return self._x
def setx(self,value):
self._x = value
def delx(self):
del self._x = value
def delx(self):
del self._x
#使用property类创建,property属性
x = property(getx,sext,delx,"I'm the 'x' porperty."
使用python装饰器,实现与上完全一样的代码效果
class C:
def __init__(self):
self._x = None
@property
def x(self):
return self._x
@x.setter
def x(self,value):
self._x = value
@x.deleter
def x(self):
del self._x
43 创建range序列
(range(stop)2)range(start,stop[,stop])生成一个不可变序列
In [1]:range(11)
Out [1]:range(0,11)
In [2]:range(0,11,1)
Out [2]:range(0,11)
44 反向迭代器
In [1]:rev = reversed([1,4,2,3,1])
In [1]:for i in rev:
print(i)
1
3
2
4
1
45 四舍五入
In [1]:round(10.0222223,3)
Out [1]:10.022
In [2]:round(10.05,1)
Out [2]:10.1
46 转为集合类型
返回一个set对象,集合内不允许有重复元素
In [1]:a = [1,4,2,3,1]
In [2]:set(a)
Out [2]:{1,2,3,4}
47 转为切片对象
class slice(start,stop[,step])
返回一个表示由range(start,stop,step)所指定索引集的slice对象,它让代码可读性、可维护性变好。
In [1]:a = [1,4,2,3,1]
In [2]:my_slice_meaning = slice(0,5,2)
In [3]:a[my_slice_meaning]
Out [3]:[1,2,1]
48 拿来就可以用的排序函数
排序:
In [1]:a = [1,4,2,3,1]
In [2]:sorted(a,reverse=Ture)
Out [2]:[4,3,2,1,1]
In [3]:a = [{'name':'xiaoming','age':18,'gender':'male'},{'name':'xiaohong','age':20,'gender':'female'}]
In [4]:sorted(a,key=lambda x: x['age'],reverse=False)
Out [4]:
[{'name':'xiaoming','age':18,'gender':'male'},{'name':'xiaohong','age':20,'gender':'female'}]
49 求和函数
求和:
In [1]:a = [1,4,2,3,1]
In [2]:sum(a)
Out [2]:11
In [3]:sum(a,10) #求和的初始值为10
Out [3]:21
50 转元组
tuple()将对象转为一个不可变的序列类型
In [1]:i_am_list = [1,3,5]
In [2]:i_am_tuple = tuple(i_am_list)
In [3]:i_am_tuple
Out [3]:[1,3,5]
本次小编更新的python基础代码内容就到这里了,大家有疑问可以在评论区提出来哟!!小编后续会坚持每周更新,感谢各位的点赞与关注❤❤;让我们一起在学习python的路上越走越远!!