python第二天

Python中的循环

先介绍for循环

格式:

for 临时变量in可迭代对象

循环体

name ='neusoft'
for x in name:
     print(x)
     if x =='s':
          print('哈哈')

循环次数?

这个是什莫么?x是临时变量不用提前声明 Python自动为你创建

range(起始位置,终止位置,步长)可以写循环次数

起始位置省略默认为0,步长省略为1,范围是左闭右开

给女朋友道歉100次 (1,101,2)

#for i in range(100):
#    print('对不起老婆我错了,这是我',i+1,'次向你道歉')

1.1常用数据类型

数字、列表、字符串、字典、元组、集合

1.1.1列表

类似与c中的数组,区别:list可以存储不同类型的数据

创建一个列表

herolist=['鲁班七号',"安琪拉",'李白','后羿',100,10.1]
#print(herolist)

总结:列表使用方括号[]进行创建

为什么要使用列表? 列表可以将我们需要的很多元素封装到一个容器中

列表的相关操作:

1.访问列表中的元素 列表名[索引] herolist[1].print

#print("英雄为:",herolist[1],)

2添加元素.append 是在列表的末尾进行添加元素

herolist.append('鲁班大师')

print('添加后的列表',herolist)

3.修改

herolist[4]="貂蝉"

print('添加后的列表',herolist)

4、删除

#del herolist[5]
#print('删除后的列表',herolist)

生成一个[0,1,2....20]的列表

可以使用循环来创建

创建一个空列表

list1 = []

使用循环不停的append

#for i in range(21):
#    list1.append(i)
#    print(list1)
 #遍历herolist
#for hero in herolist:
# # #   print(hero)
# len()可以检测对象的元素个数
#for i in range(len(herolist)):
#    print(herolist[i])
#     if herolist[i] == '后羿':
#         print('恭喜你选中了隐藏英雄')
#     else:
#         print('不是隐藏英雄')

Python制作进度条

安装 tqdm库

pip install 库的名称

导入 tqdm

#from tqdm import tqdm
#import time
#mylist = []
#for i in range(10):
#    mylist.append(i)

遍历mylist

#for x in tqdm(mylist):
#    time.sleep(1)

字符串

表示 '' ""

要注意的是

#name = "k"e"bi"
#name = 'k"e"bi'
#print(name)
# 访问
#print(name[2])
# 修改
#name[1] = "x"
#print(name)
#name = 'kebi'
#print(name)

常用操作

#price = '$9.9'
# 字符串的替换
#price = price.replace("¥",'')
#print(price)
# 价格涨价 10倍(price) *10
#new_price = float(price) *10
#print(new_price)
#while True:
 #   seg = input('')
  #  seg = seg.replace('吗?','!')
   # print(seg)

# strip 去空格操作
#name = 'neuedu'
#print(len(name))
#name = name.strip()
#print(len(name))

join # 将列表变成字符串

li = ['你','好','帅']
disk_path = ['c:','uers']
path = '\\'.join(disk_path)
print(path)
li = ''.join(li)
print(li) 

元组

#tuple()
#()
#int()
#str()

创建

元组和列表很相似,只不过不能修改(字符串、元组)

# a = (1,'1',['']   )
# print(a)
# #访问
# print(a[2])

元组的用处:

1.写保护、安全Python内置函数返回的类型都是元组

2.相对于列表来讲,元组更省空间、效率更高

掌握

1.拥有一个元素的元组

# b = (100,)      #(1+1)*2优先运算
# print(type(b))

# 我们经常使用的组合方式:

# list2 = [('a',22),('b',33),('c',99)]

字典

创建字典 key -value

info = {'name':'崔天池','age':18,'gender':'female'}
# print(type(info))

# 访问字典 通过建立访问值

# print(info['name'])
# # 访问不存在的键
# # print(info['add'])

# 当不存在这键的时候,可以返回默认的值

# 有这个键就正常返回

# print(info.get('addr','抚顺市'))
# #修改
# info['age'] = 3
# print(info)

# 增加 当字典中不存在这个键,就会添加

# info['addr'] = '鞍山市'
# print(info)

#删除

# del info['age']
# print(info)

遍历

for k,v in info.items():
    print(k,'---->',v)

获取所有键

print(list(info.keys()))

获取所有值

print(list(info.values()))

1.获取到网页的源代码,requests

安装requests

#pip install requests
import requests

获取指定域名的源代码

response = requests.get('http://www.baidu.com')
# 相应状态码 200 ok not found
print(response.status_code)

响应的编码方式

设置编码方式

response.encoding= 'utf-8'
print(response.status_code)
print(response.encoding)

获取 string 类型相应

html_data = response.text
print(html_data)

将爬取的文件写成 本地html

文件路径,读写模式,编码方式

with open('index.html','w',encoding='utf-8')as f:

    f.write(html_data)

图片爬取

图片地址

url='http://big5.wallcoo.com/nature/Hokkaido_summer_field/images/Hokkaido_summer_field_picture_13652941_3540148.jpg'
response2 = requests.get(url)

获取byte类型的相应

img_data = response2.content
# 文件路径,读写模式write binary,编码方式
with open('kobe.png','wb')as f:
    if response2.status_code == 200:
        f.write(img_data)

2.然后提取我们要的信息 xpath

你可能感兴趣的:(python第二天)