python中raise stoplteration_Python: Basics

数据类型:

字符型

数值型(整型、浮点型)

转换:str() int() float()

数据结构:

序列 字符串 ‘’ #count()

序列 列表list() or [] #append()

序列 元组tuple() or () #不可操作

非序列 字典dict() or {} #append()

序列内置操作:切片listName[::]、len()、min()、max()、

常用内置常量:

False: None []空列表 ()空元组 {}空字典

True: 非空

逻辑运算符:

and

or

not

is

is not

in

not in

比较运算符:

>

>=

<

<=

!=

==

增量赋值运算符:

+、- 、*、/、//、**、%、&、|、^、>>、<<

如:x += 1

控制流:

if判断流:

if condition:

pass

else:

pass

if condition:

pass

elif condition:

pass

elif condition:

pass

...

else:

pass

for循环流:

for x in range:

pass

else:

pass

range(start,stop,step)

内置迭代函数:

enumerate(seq) #编号迭代

sorted(seq) #排序法代

reversed (seq) #翻转法代

zip (seql , seq2 , ... ) #并行这代

while循环流:

while condition:

pass

else

pass

推导或内涵( list comprehension):从一个列表推导出另一个列表

列表推导式:[ i相关表达式 for i in aiterator if condition ]

字典推导式:{ key_exp:value_exp for key_exp,value_exp in aiterator if condition }

函数:

常用内建函数:help()

lambda params:expr #lambda x,y:math.sqrt(x+y)

自定义函数:

def hello():

pass

return 返回值

hello() #调用函数

面向对象程序设计( Object Oriented Programming )简称OOP:

定义:

class 类名(父类名):

pass

属性:变量

方法:函数

封装:

class Dog():

def __init__(self, name): # 类的属性(变量)都放在__init__(self)函数(方法)下

self.name = name

self.special = 'dog'

def introduction(self):

print(

'Hello, my name is {}, and I am a {}'.format(

self.name,

self.special))

if __name__ == '__main__':

wang_cai = Dog('wang cai')

wang_cai.introduction()

# self专指向这个class本身;

# 所以self.name之类的变量(属性),只是在class定义范围内的局部变量;

# 而__init__(self, 变量1, 变量2, ...)中的变量是外部传入的实参和形参;

继承:

class Animal():

'''creating animal class'''

def __init__(self):

self.special = 'Aniaml'

def eat(self):

print('eat')

def drink(self):

print('drink')

def sleep(self):

print('sleep')

class Dog(Animal):

'''creating dog class from animal'''

def __init__(self, name):

self.name = name

self.special = 'Dog'

def bark(self):

print('狗汪汪叫')

class XiaoTianQuan(Dog):

def __init__(self):

self.special = '哮天犬'

def bark(self):

print('像神一样的狂吠')

super().bark() # 可以保留父类的bark()方法

print('hahahahahhah')

class Cat(Animal):

'''creating cat class from animall'''

def __init__(self, name):

self.name = name

self.special = 'Cat'

def cry(self):

print('呜呜。。。。。。')

if __name__ == '__main__':

wang_cai = Dog('wang cai') # 类的实例化成对象

wang_cai.eat()

wang_cai.bark()

mao = Cat('mao') # 类的实例化成对象

mao.cry()

xtq = XiaoTianQuan() # 类的实例化成对象

xtq.bark()

多态

模块:

调用:

import 模块名

import 模块名as 新名字

from 模块名import 函数名

自定义:

#模块文件

#文件名称: module_test . py

print ( ' 导入的测试模块的输出’ ) #被导入时会被执行,输出信息

name = ’ module test ’ #定义一个变量

def m_t_pr () : #模块中的函敬定义

print ( ’ 模块module test 中m t pr ()函数’ )

#调用自己编写的模块

#文件名: a8_2 . py

import module test #导入模块

module_test.m_t_pr() #调用导入模i犬的的数

print { ’ 使用module_test 模块中的变盘:’, module_test .name ) #侦Jll 导入悦块中的变量

模块路径:

windows:如l ib 、l i b\s ite-packages 、dll s 等

linux:/usr/lib 、/usr/J ib64 及其它们的几个几子目录下。

包:

Python标准库:

Python 语言中内置的标准库包含200 左右的包和模块,提供了广泛的功能, 涵盖数据处理、

压缩和散列、数据持久化、数据库操作、文件及文件系统处理、El 志系统、网络通信、Internet

协议、数据编码与转换、多进程与多线程等库和模块。除此以外, Pyth o n 还有大量的第三方库

可以使用。

数学模块:

random、math

日期与时间:

calender、datetime、time

迭代器

迭代器 是实现了迭代器协议方法的对象或类。

' _iter_()”方法返回对象本身,它是for 语句使用迭代器的要求。

“_next——()”方法用于返回容器中下一个元素或数据。当容器中的数据用尽时,应该引发Stoplteration 异常。

自定义迭代器:

class MyIterator: #自定义迭代器的类

def __init__(self,x=2,xmax=100): #定义构造方法,初始化实例属性

self.__mul,self.__x = x,x

self.__xmax = xmax

def __next__(self): #定义迭代器协议方法,返回类自身

return self

def __next__(self): #定义法代器协议方法

if self.__x and self.__x != 1:

self.__mul *= self.__x

if self.__mul <= self.__xmax:

return self.__mul #返回值

else:

raise StopIteration #引入 Stopiteration 错误

if __name__ == '__main__':

myiter = MyIterator() #实例化迭代器Myiterator

for i in myiter: #遍历并输出值

print('迭代的数据元素为', i)

内置迭代器:

iter()

生成器

生成器 可以生成一个值的序列用于迭代, 并且这个值的序列不是一次生成的,而是使用一个, 再生成一个, 的确可以程序节约大量内存。

生成器则是函数中包含yield 语句的一类特殊的函数。

装饰器

装饰器 的灵活性很强,可以为一个对象添加新的功能或者给函数插入相关的功能。从本质上说,它是一种代码实现方式。

原文链接:https://blog.csdn.net/beiaidewoniu/article/details/106905669

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值