python的一些抽象理解

除了现实中的蝇营狗苟,我的心中还住着星辰大海

关于导入

1
2
3
from urllib.request import urlopen
# 在urllib库里查找request模块,只导入一个urlopen函数

range用法

1
2
3
4
5
6
7
8
9
10
11
#代表从1到5(不包含5)
for i in range(1,5):
print(i)

#代表从1到5,间隔2(不包含5)
for i in range(1,5,2):
print(i)

#代表从0到5(不包含5)
for i in range(5):
print(i)

时间的用法

1
2
3
4
5
6
7
8
9
10
11
12
13
# 格式化当前时间
import time
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

# 休息间隔2秒
import time
for i in range(7):
time.sleep(2)
print(i)

# 当前时间戳
import time
print(time.time())

format 格式化

1
2
3
4
5
6
7
8
9
10
11
12
def get_links_from(channel,pages):
list_view = '{}/pn{}'.format(channel,str(pages))
wb_data = requests.get(list_view)
time.sleep(1)
soup = BeautifulSoup(wb_data.text,'lxml')
if soup.find('td','t'):
for link in soup.select('td.t > a.t'):
item_link = link.get('href').split('?')[0]
tb58.insert_one(item_link)
print(item_link)
else:
pass

if else 结构

1
2
3
4
5
6
7
8
9
10
11
number = 23
guess = int(input('请输入一个整数:')) #等待输入整数
if guess == number:
print('恭喜,你猜对了。') # 新块从这里开始
print('(但你没有获得任何奖品!)') # 新块在这里结束
elif guess < number:
print('不对,你猜的有点儿小') # 另一个块
else:
print('不对,你猜的有点大')
print('完成')
# if语句执行完后,最后的语句总是被执行

pass

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#1、空语句 do nothing
#2、保证格式完整
#3、保证语义完整
if语句为例,在c或c++/java中:
if(true)
;//do nothing
else
{
//do something
}
# 而在python中
if true:
pass #do nothing
else:
#do something

map函数

1
2
3
4
5
6
7
# map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作
#用到序列的每个元素并把结果作为新的list返回。
#在python3里面,map()的返回值已经不再是list,而是iterators
def f(x):
return x * x
a = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(a))

导入函数和变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 位于同一个文件夹下两个py文件
# demo.py,定义一个函数和变量
def haha():
print('haha')
list = [1,2,3,4,5]

# test.py,调用这个函数和变量
import demo
test.haha()
print(test.list)

# 也可以选择仅仅导入函数或者变量
from test import haha
haha()