Python第二天

Python中的循环

  • for循环
  • 格式:
  • for 临时变量 in 可迭代对象:
    循环体
    举例
    代码块
name = 'neusoft'
for x in name:
    print(x)
    if x == 's':
        print('哈哈')

问题:

  • 其中X是什么? -- x是临时变量不用 提前声明 Python自动为你创建
  • 循环次数哪里去了?-- range(起始位置,终止位置, 步长)可以写循环次数, 起始位置省略默认为0 , 步长省略为1, 范围是左闭右开
    举例
  • 给女朋友道歉一百次
    代码块
# for i in range(1, 100, 2):
#     print('对不起对象我错了,这是我',i +1,'次向您道歉' )

改编
代码块

for i in range(1, 101, 2):
print('对不起对象我错了,这是我',i ,'次向您道歉' )

常用的数据类型

  • 数字、列表、字符串、字典、元组、集合
    1.1.1列表
    类似于c中的数组, 但是与数组不同的是, list可以存储不同类型的数据
    创建一个列表
    代码块
heroList = ['鲁班七号', "安琪拉", "李白", '后羿', 100,]
 print(heroList)

总结:使用[]进行创建列表
为什么要使用列表? 列表可以将我们需要的很多元素封装到一个容器中

列表的相关操作:

1、访问列表中元素 列表名[索引]
代码块

print("英雄为:",heroList[1],heroList[0])

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

制作进度
代码块

from tqdm import tqdm
import time
mylist = []
for i in range(20):
    mylist.append(i)
# 遍历mylist
for x in tqdm(mylist):
    time.sleep(1)

字符串

表示 '' "
要注意的是
代码块

# name = "k"o"be"错误
 name = 'k"o"be' #正确
 print(name)
访问

代码块

name = 'k"o"be' 
print(name[2])
修改

代码块

 # name[1] = "x"
 # print(name) #错误
name = "kobe"
print(name)
常用操作

代码块

price = '¥9.9'
#字符串的替换
price = price.replace("¥", '')#将¥符号转换为null
print(price)

举例 价格涨价 10倍
代码块

price = '¥9.9'
new_price = float(price) *10
 print(new_price)

价值一亿的AI代码
代码块

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:','Users', 'Administrator', 'Desktop', 'CCF']
path = '\\'.join(disk_path)
print(path)
li = ''.join(li)
print(li)

元组

tuple()
创建
  • 元组和列表很相似,只不过不能修改
    代码块
a = (1, '1', 3)
print(a)
print(type(a))

访问
代码块

print(a[2])
a[2] = 6
元组的用处:

1, 写保护 ,安全, Python内置函数返回的类型都是元组
2, 相对列表来讲, 元组更节省空间, 效率更高
掌握

  1. 拥有一个元素的元组
    代码块
b = (100,)#加,用于区分元组和int型
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['addr'])#报错
当不存在这键的时候,可以返回默认设置的值,
有这个键就正常返回
代码块

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

函数 面向过程

方法 面向对象

Python 中的函数

def 函数名():
函数体
代码块

def say_hello(name):
     print('hello', name)
say_hello('neusoft')

举例 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
2.然后提取需要的源代码

1.获取到网页的源代码

安装requests
import requests
获取指定域名的源代码
代码块

response = requests.get('https://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 ='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1578383348&di=da8065193ea49b2af2ba0f07ca516ea3&imgtype=jpg&er=1&src=http%3A%2F%2Fimg.bimg.126.net%2Fphoto%2FCGkuKsRyMgmxpSwiUriCaA%3D%3D%2F5721541851598009167.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)

总的代码

import requests
response=requests.get('http://www.baidu.com')
print(response.status_code)
response.encoding ='utf-8'
print(response.encoding)
html_data =response.text
print(html_data)
with open('index.html','w')as f:
     f.write(html_data)
url ='https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1578383348&di=da8065193ea49b2af2ba0f07ca516ea3&imgtype=jpg&er=1&src=http%3A%2F%2Fimg.bimg.126.net%2Fphoto%2FCGkuKsRyMgmxpSwiUriCaA%3D%3D%2F5721541851598009167.jpg'
response2=requests.get(url)
img_data=response2.content
with open('baidu.jpg','wb')as f:
    if response2.status_code==200:
        f.write(img_data)

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