python基础(三)

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的路上越走越远!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戏煜^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值