Python中的循环
格式:
for 临时变量 in 可迭代对象:
循环体
name = 'neusoft'
for x in name:
print(x)
if x == 's':
print('哈哈')
for i in range(1, 101, 2):
print('对不起老婆我错了,这是我',i ,'次向您道歉' )
1.1常用的数据类型
数字、列表、字符串、字典、元组、集合
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
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)
# # 访问
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 = ' 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()
# list()
# int()
# str()
# 创建
# 元组和列表很相似,只不过不能修改
# a = (1, '1', 3)
# print(a)
# print(type(a))
# # 访问
# print(a[2])
# a[2] = 6
# 元组的用处:
# 1, 写保护 ,安全, Python内置函数返回的类型都是元组
# 2, 相对列表来讲, 元组更节省空间, 效率更高
# 掌握
# 1. 拥有一个元素的元组
b = (100,)
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
#安装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://file02.16sucai.com/d/file/2015/0128/8b0f093a8edea9f7e7458406f19098af.jpg'
response2 = requests.get(url)
#获取byte类型的响应
img_data = response2.content
#文件路径,读写模式,编码方式
with open('风景.png','wb')as f:
if response2.status_code == 200:
f.write(img_data)
#2.然后提取我们要的信息 xpath