极简Python代码!初学者必看...

学习Python需要掌握基本语法、数据类型和控制流程,通过实践加深理解。枚举用于遍历对象,eval执行字符串表达式,float转换数值,property创建属性,iter创建迭代器,reversed实现反向迭代。这些是Python编程中的基础概念和操作。
摘要由CSDN通过智能技术生成

学习Python是一个循序渐进的过程,需要逐步掌握基本语法和数据类型、控制流程语句、文件操作、面向对象编程等知识点,并且需要通过不断的实践来加深理解和提高技能。学习过程需要注重细节和基础,同时也需要保持好奇心和探索精神,不断尝试新的方法和技术,才能更好地掌握Python编程。在学习的过程中,可以通过阅读官方文档、参加在线教程、阅读书籍、练习题目、参与开源项目等多种方式来提升自己的编程能力和经验。最终,只有不断努力和坚持学习,才能掌握Python编程,成为一个优秀的Python开发者。今天继续来分享Python基础的干货。

1.枚举对象

返回一个可以枚举的对象,该对象的next()方法将返回一个元组。

In [1]: s = ["a","b","c"]
    ...: for i ,v in enumerate(s,1):
    ...:     print(i,v)
    ...:
1 a
2 b
3 c

2.计算表达式

将字符串str 当成有效的表达式来求值并返回计算结果取出字符串中内容

In [1]: s = "1 + 3 +5"
    ...: eval(s)
    ...:
Out[1]: 9

3.转为浮点类型

将一个整数或数值型字符串转换为浮点数

In [1]: float(3)
Out[1]: 3.0

如果不能转化为浮点数,则会报ValueError:

In [2]: float('a')
ValueError                                Traceback (most recent call last)
<ipython-input-11-99859da4e72c> in <module>()
----> 1 float('a')
 
ValueError: could not convert string to float: 'a'

4.创建属性的两种方式

返回 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
    # 使用property类创建 property 属性
    x = property(getx, setx, delx, "I'm the 'x' property.")

使用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

5.创建迭代器类型

使用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,3,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 1
Out[3]: 1
 
In [4]: for e in TestIter(): # 因为实现了__iter__方法,所以t能被迭代
    ...:     print(e)
    ...: 
__iter__ is called!!
1
3
2
3
4
5

6.反向迭代器

In [1]: rev = reversed([1,4,2,3,1])
 
In [2]: for i in rev:
     ...:     print(i)
     ...:
1
3
2
4
1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值