大学生常用python变量和简单的数据类型、可迭代对象、for循环的3用法

简介: 大学生常用python变量和简单的数据类型、可迭代对象、for循环的3用法

🌸I could be bounded in a nutshell and count myself a king of infinite space.

特别鸣谢:木芯工作室 、Ivan from Russia


变量和简单的数据类型

下划线开头的对象

单下划线_

变量

在Python中,变量可以包含数字、字母、下划线等,所以单独一个下划线_也是一个变量,表示一个临时对象,一般后续不会用到,比如:

>>> i = 0
>>> for _ in range(10):
...     i += 1
...
>>> i

程序中运行的最近一个结果

单下划线_也可以表示程序中运行的最近一个结果,如:

>>> 'https://machinelearning.blog.csdn.net/'
'https://machinelearning.blog.csdn.net/'
>>> _
'https://machinelearning.blog.csdn.net/'
>>> 100
100
>>> _
10

国际化和本地化字符串之间翻译查找的函数

单下划线_作为函数名时,一般是代表了国际化和本地化字符串之间翻译查找的函数。

单下划线开头变量_var或函数_fun()

单下划线开头_var的变量或函数_fun表示该变量或函数为内部使用的变量,不建议在外部使用,但单下划线开头仅仅是一个提示,没有权限控制,实际上可以在外部访问。同时,如果用from <module> import *from <package> import *时,这些属性、方法、类将不被导入

单下划线结尾var_

为了防止跟系统关键字重名了,比如函数里需要有个参数class,但是Python中class为关键字,所以需要将 class设置为class_

双下划线开头变量__var或函数__fun()

代表着类中的私有变量名或函数,主要用于避免子类覆盖父类的方法,如果需要访问,需使用_classname__fun()

前后双下划线变量__var__或函数__fun__()

系统定义的变量名称或函数,如Python的魔法函数__ init__(),__ str__(),__ new__(),__ unicode__(), __ call__(),__ len__(),__repr__(),__ setattr__(),__ getattr__(),__ getattribute__(),__ delattr__(),__ setitem__(),__ getitem__(),__ delitem__(),__ iter__(),__ del__(),__dir__(),__dict__(),__exit__(),__enter(),__all__()。我们定义变量名称或函数是应该尽量避免前后加双下划线。

版权声明:本文为CSDN博主「von Neumann」的原创文章,遵循CC 4.0

BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/hy592070616/article/details/125114737

删除内存中的对象

a='0'
del(a)
print(a)    //报错

列表与元组

i = 0
while i<5:
    print(12)
    i+=1

debug

三酷猫钓鱼记录

a,b,c=6,5,8
print(''*3+'表2.1'+' 三酷猫的钓鱼记录')
print("|    |"+"日期"+"     鱼名"+"     数量")
print("|1   |"+"2017.11"+"     鲫鱼"+"     %d"%(a))
print("|2   |"+"2017.11"+"     鲫鱼"+"     %d"%(b))
print("|3   |"+"2017.11"+"     鲫鱼"+"     %d"%(c))
print( "总共               %d+%d+%d=19 "%(a,b,c))

实际POS机小条打印

血的教训:%要紧随其后

num1,num2,num3=6,5,8
price1,price2,price3=8.1,8.2,8
print(''*3+'表2.1'+' 三酷猫的钓鱼记录')
print("|    |"+"日期"+"         鱼名"+"     数量        单价")
print("|1   |"+"2017.11"+"     鲫鱼"+"     "+str(num1)+"           "+str(price1))
print("|2   |"+"2017.11"+"     鲤鱼"+"     "+str(num2)+"           "+str(price2))
print("|3   |"+"2017.11"+"     草鱼"+"     "+str(num3)+"           "+str(price3))
print( "总共数量%d+%d+%d=19 "%(num1,num2,num3)+"总共"+str(123))

使用循环找乌龟

三酷猫钓鱼记录查找

fish_record=‘鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只’

fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
i=0
total=len(fish_record)
print(total)
while i<total:
    print(str(i) + "--------" + str(total))
    if fish_record[i:i+2]=="乌龟":
        print("乌龟有"+fish_record[i+2:i+3]+"只")
    i+=5

可迭代对象

数字列表,字符串,列表,元组,字典…

📗理解一

Iterable对象,就是可迭代对象,即可以用for...in...进行遍历的对象,就叫可迭代对象。

比如列表,元组,字符串,字典等都属于可迭代对象。

📘理解二

一个对象如果实现了__iter__方法,那么我们称这个对象是可迭代对象。

2️⃣什么是迭代器

📗理解

一个实现了__iter__方法和__next__方法,并且可以通过__next__方法不断返回下一个值的对象称为Itertor,即迭代器。

也就是说,迭代器均可以使用 for...in... 和next逐一遍历。

迭代器的两个最基本的方法:iter()next().

✔️注意

需要注意的是,列表,元组,字典,集合,字符串均实现了__iter__方法,但并未实现__next__方法,所以这些对象并不能称为迭代器

3️⃣迭代器对象

iter()

列表,元组,字符串等对象都可以使用iter()方法来创建迭代器对象

next()

创建迭代器对象后就可以使用next()方法来访问元素

访问迭代器对象都是从第一个元素开始,直到访问结束

迭代器只能往前不会后退

🔋实例

>>> list_1 = [1,2,3]
>>> it_list = iter(list_1)
>>> print(next(it_list))
>>> 1
>>> print(next(it_list))
>>> 2
>>> print(next(it_list))
>>> 3
>>> print(next(it_list))
>>> Traceback (most recent call last):
...
StopIteration
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
fish_record = iter(fish_record)
print(next(fish_record))

显然,如果访问到迭代器对象的最后一个元素时继续访问,就会触发StopIteration异常

4️⃣有关迭代的函数

🌱---- enumerate()

语法:

enumerate(iterable, start=0)

用法:

返回一个索引enumerate对象

参数:

iterable----可迭代对象或迭代器

start----索引值,默认为0

实例:

例1

>>>teams=['勇士', '热火', '骑士']
>>>enumerate(teams)
     enumerate object at 0x000002E9569016C0>
>>>for t in enumerate(teams):
       print(t, end = ' ')
...
   (0, '勇士') (1, '热火') (2, '骑士')

例2

>>>teams=['勇士', '热火', '骑士']
>>>for i, t in enumerate(teams):
       print(i, t, end=" ")
...    
   0 勇士 1 热火 2 骑士

例子3

>>>teams=['勇士', '热火', '骑士']
>>>t1 = enumerate(teams)
>>>t1.__next__()
   (0, '勇士')
>>>t1.__next__()
   (1, '热火')
>>>t1.__next__()
   (2, '骑士')
>>>t1.__next__()
   Traceback (most recent call last):
    ...
     t1.__next__()
   StopIteration

例4

>>>teams=['勇士', '热火', '骑士']
>>>t1 = enumerate(teams,2)
>>>t1.__next__()
   (2, '勇士')
>>>t1.__next__()
   (3, '热火')
>>>t1.__next__()
   (4, '骑士')
>>>t1.__next__()
   Traceback (most recent call last):
   ...
    t1.__next__()
   StopIteration

🌱---- map()

用法:

该函数用于将一个函数依次映射到可迭代对象的每个元素上,再返回一个map对象

实际上,map对象既是可迭代对象,也是一个迭代器对象

语法:

map(function, iterable, ...)

1

参数:

function---- 函数

iterable---- 可迭代对象,可以有多个iterable

返回:

该函数返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器

当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束

实例:

由于该函数返回的是迭代器,所有我们可以用list()函数将结果转换列表

🌱---- zip()

用法:

将多个迭代器对象(或可迭代对象)中的元素压缩到一起,并返回一个zip对象

实际上,zip对象既是可迭代对象,也是一个迭代器对象

语法:

zip(iterable, ...)

1

参数:

iterable----可迭代对象,可以有多个。

返回:

该函数在多个iterable上并行迭代,从每个可迭代对象上返回一个数据项组成元组。

也就是说, zip() 返回元组的迭代器,其中第 i 个元组包含的是每个参数迭代器的第 i 个元素。

如图:

🌱---- filter()

用法:

传入带有一个参数的函数function,并返回一个filter对象

filter对象中的元素是由参数中的iterable对象使得函数function返回值为True的那些元素组成

通俗讲就是满足function函数条件的那些元素组成了filter对象

实际上,filter对象既是可迭代对象,也是一个迭代器对象

语法:

filter(function, iterable)

1

参数:

function ----判断函数,用于过滤掉对象里不符合条件的元素

iterable ----可迭代对象,如列表,元组等。

返回:

返回一个新的迭代器,其中的元素都符合判断函数的条件

实例:

我们可以利用list()函数来转换filter()函数的返回值

版权声明:本文为CSDN博主「翼同学」的原创文章,遵循CC 4.0

BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_62999278/article/details/123884858

for循环的3用法

for var in range(9):
    print("wowudi")
fish_record='鲫鱼5条、鲤鱼8条、鲢鱼7条、草鱼2条、黑鱼6条、乌龟1只'
i=0
for i in range(len(fish_record)):
    if fish_record[i+2:i+3] =="5":
        print("鲫鱼"+"5")
    i+=5
相关文章
|
18天前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
109 68
|
19天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
29 9
|
25天前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
77 8
|
1月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
27 6
|
1月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
39 6
|
1月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`&quot;&quot;&quot;` 或 `&#39;&#39;&#39;`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
53 2
|
1月前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
28 2
|
1月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
34 2
|
1月前
|
Python
Python 中,循环判断
Python 中,循环判断
51 1
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
29 0