python第二天

python中的循环

先介绍for循环

格式:

##for 临时变量 in 可迭代对象:

循环体

name = '567'
for x in name:
    print(x)
    if x == '6':
        print("six")

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

循环次数哪里去了?

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

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

道歉100次

for i in range(1,11,2):
    print("对不起",i)

1.1常用数据类型

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

1.1.1列表

类似于C中的数组,但是与数组不同的是:list可以存储不同类型的数据

创建一个列表

herolist=['嘿嘿嘿','哈哈哈','亚瑟',1000,120.1]
print(herolist)
# print(herolist)

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

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

列表的相关操作:

1.访问列表中的元素 列表名[索引]:0/1

print(herolist[0],herolist[1],123)

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

herolist.append('kkk')
# print(herolist)
# #3.修改
# herolist[4] ="zzz";herolist[3]="xxx"
# print(herolist)
# #4.删除
# del herolist[4]
# 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("1")
    else:
        print("0")

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(2)

字符串

表示'' ""无区别

要注意的是

name = "k'o'obe"
# print(name)
#访问
print(name[2])
#修改
# name[1] = "x"
# print(name)
name = "kobe"
print(name)

常用操作

price = '$9.9'
#字符串的替换
price=price.replace("$","")
print(price)
#价格涨价10倍
new_price = float(price)*10
print(new_price)
#写一个价值一亿的AI代码
# while True:
#     seg = input('')
#     seg = seg.replace('吗?','!')
#     print(seg)
#strip 去空格操作
name = '  icu  '
print(len(name))
name = name.strip()
print(len(name))
#join 将列表变成字符串
li = ['你','好','帅']
lii = ''.join(li)
print(lii)
disk_path = ['C','D','E','F']
path = '\\'.join(disk_path)
print(path)

元组

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

创建

元组和列表很相似,只不过不能修改

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

元组的用处:

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

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

#掌握
#1.拥有一个元素的元组
b = (2,)
print(type(b))
print(b)
#我们经常使用的组合:
list2 = [('a',22),('b',11),('c',33)]

字典

#创建字典 key -value
info = {'name':'cui','age':18}
print(type(info))
#访问字典 通过建访问值
print(info['name'])
#访问不存在的键
# print(info['sex'])
#当不存在这个键的时候,可以返回默认设置的值
#有这个键就正常返回
print(info.get('sex','men'))
#修改
info['age'] = 3
print(info)
#增加 当字典中不存在这个键,我们就会添加
info['sex'] = 'female'
print(info)
#删除
del info['age']
print(info)
#遍历
for i,v in info.items():
    print(i,'--->',v)
#获取所有键
print(list(info.keys()))
#获取所有值
print(list(info.values()))

函数 面向过程

方法 面向对象

python中的函数

#def 函数名():
#     函数体
def say_hello(name):
    print('help',name)
say_hello('abc')
#1到任意数之间的累加和
def caculate_num(num):
    sum_num = 0#求和
    for i in range(1,num+1):
        sum_num=sum_num+i
    return sum_num
print(caculate_num(100))

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

安装 requests

import requests
#获取指定域名的源代码
response = requests.get('http://www.baidu.com')
#响应状态代码 200 ok 404 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://dmimg.5054399.com/allimg/pkm/pk/22.jpg'
response2 = requests.get(url)
response2.content
#获取byte类型的响应
img_data = response2.content
#文件路径,读写模式,编码方式
with open('index.png','wb')as f:
   if response2.status_code == 200:
    f.write(img_data)
#2.然后提取我们要的信息 xpath

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