前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >朋友们,你们还在吗?

朋友们,你们还在吗?

作者头像
stormwen
发布2019-08-05 10:52:59
2830
发布2019-08-05 10:52:59
举报
文章被收录于专栏:公众号:googpy公众号:googpy

好久没更新文章了,说来惭愧,这段时间一直在忙毕业论文的事,每天都很忙,过得和狗一样,真的是方向选得好,天天都是高考啊,之后单独挑个时间复盘一下最近的生活。

从今天开始我又会继续记录我的学习Python之路。只要有一个人看,那也是我坚持写作的动力嘛!

今天首先和大家聊聊Python里面的「循环」,Python里面的循环语句只有两种——while和for。

While后面的判断语句不能是常量,还可以和else一起使用,递归场景下用while更合适。

for循环主要用来遍历/循环 序列或者集合、字典。在这里有个小技巧,如果想把遍历的结果打印成行,则在print(y,end=‘ ’),例如:

代码语言:javascript
复制
a =[1,2,3]
for x in a:
    print(x,end=' ')
1 2 3

for也可以和else一起使用,当列表所有元素都被遍历完后,才会执行else下面的内容。但是,当代码中含有break时,是不会执行else下面的内容,例如:

代码语言:javascript
复制
a =[1,2,3]

for x in a:
   if x == 2:
       break
   print(x)
else:
   print('EOF')

1

下面举一个例子,说明一下两个嵌套循环,例如:

代码语言:javascript
复制
a = [['apple','orange','banana','grape'],(1,2,3)]

for x in a:
    for y in x:
        print(y,end=' ')
else:
    print('fruit is gone')

接下来,我们分别添加两处break语句,第一处:

代码语言:javascript
复制
for x in a:
    for y in x:
        if y == 'orange':
             break
        print(y,end=' ')
else:
    print('fruit is gone')

第二处:

代码语言:javascript
复制
for x in a:
     if 'banana' in x:
         break
    for y in x:
        print(y,end=' ')
else:
    print('fruit is gone')

通过上面两处不同的break语句,我们可以感受到Python解释语句的逻辑顺序,其次,对于嵌套循环,内部的循环跳出之后,外部的循环仍在继续。

range函数可以构造一个序列,for循环和range可以一起使用,例如:

代码语言:javascript
复制
for x in range(0,10,2):
    #for x in range(10,0,-2)    #会打印一个递减的等差数列
    print(x,end='|')  #会打印一个递增的等差数列

a =[1,2,3,4,5,6,7,8]   #打印出间隔的元素
for i in range(0,len(a),2):
    print(a[i],end='|')

print(a[0:len(a):2])

(二)、导入模块、变量

导入语法:

代码语言:javascript
复制
import module name

import只能导入模块,如果对于包、模块不熟悉概念的小伙伴,可以自己查一下。

导入的第二种方式:

代码语言:javascript
复制
from module import a

from…import…导入的是具体变量,举例说明。

代码语言:javascript
复制
from t.c7 import a
#from t import c7
Print(c7,a)

如何一个模块里面的变量很多,那么该如何导入呢?我们可以用下面这段代码:

那么,我们如果想让*控制导入变量的具体内容,该怎么办呢?

这里,需要用到模块的内置变量这个知识点,就是在调用模块的变量前面编写这样一段代码:__all__ =[‘’,‘’],元组里面的元素是*想导入的具体变量,举例说明:

在t.py里面引入内置变量,在t2模块调用t里面的变量时,就只会导入内置变量中特指的变量,其他变量是不会被导入的。

(三)Python中的init文件作用

当我们导入包时,init文件会被自动执行,此外,当我们导入包下面某一个模块的变量时,init也会被自动执行。

作用一:在init文件中使用内置变量(__all__)就会决定哪些变量被导入,举例说明

我们首先在init文件中写入这样一段代码:

__all__ = [‘c7’]

然后分别在c7和c8两个文件中定义三个不同变量

然后导入模块:

from t import *

print(c7.a)

print(c8.e)

运行上面代码,会打印出a的值,同时还会显示c8没有被定义,这就是init中的内置变量起了作用。

作用二:利用init文件做批量导入,大家可别小看这个作用,当有两个模块需要导入三个库,如果在各个模块中分别导入库,就会很麻烦,可能大家觉得不就两个模块嘛,复制粘贴很快的,但如果你把数量级考虑的更大时,你就会发现难处了,那么怎么操作呢?

在init文件中写入需要导入的库,比如:

代码语言:javascript
复制
import sys
import datetime
import io

然后,我们分别在十个模块中写入导入语句,比如:

代码语言:javascript
复制
import t
print(t.sys.path)

大家是不是觉得很方便呐。

好了,第一天回归,就是干货满满,希望大家可以好好看看,查漏补缺嘛。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 googpy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档