【python】学习笔记(自用持续补充)

基础语法

每行代码无需用;隔开,通过缩进表示代码结构,按行编译

输出

print()

可以通过+将不同的字符串连接起来 +只能连接字符串,如果需要将字符串和数字同时用+连接输出,需要进行格式转换

' ' “ ”互相配对,通过\字符转译

“““  ”””打破按行编译,可将格式打印,可直接打印跨行多的内容

定义变量

a="hello"

直接定义变量名并赋值

运算法则

乘方 **

导入math函数库,使用数学函数

import math
math.函数名()

添加注释

# 注释单行

“““  ”””注释多行

数据类型

字符串,整型,浮点型,布尔型,空值型(只有空值None)

# 查询数据类型
type()

输入

input()

输入均为字符串类型,进行其他操作时需要强制类型转换 

可以使用“”框住提示内容

条件判断

if [条件]:
    [执行语句]
    [执行语句]
else:
    [执行语句]
    [执行语句]

嵌套通过缩进判断进行那个条件语句

if [条件a]:
    [语句a]
    if [条件b]:
        [语句b]
    else:
        [语句c]
else:
    [语句d]

多个判断语句使用elif

if[条件a]:
    [语句a]
elif[条件b]:
    [语句b]
elif[条件c]:
    [语句c]
else:
    [语句d]

逻辑运算符

与and,或or,非not

优先级顺序not>and>or,可以通过()改变优先级

列表

[]表示

添加 append

删除 remove

与数组使用方式一致

字典

键:值 {}表示,一键对一值,键值不可变,键值不可重复,区别相同部分的不同键可使用元组

添加 字典名['键名']='键值'

相当于c++中的map容器

元组

()表示,不可变,

循环

for 变量名 in 可迭代对象:
    执行语句

范围函数 步长默认为1

range(起始值,结束值,步长)
while 条件a:
     行动b

format方法

替换字符串中的部分值使用fomat方法

变量名="xxxxxxx{0}xxxxxxxx{1}".format(a,b)
变量名="xxxxxxx{aa}xxxxxxxx{bb}".format(aa=a,bb=b)
f"xxxxx{a}xxxx{b}xxxx"

定义函数

def 函数名(参数名):
    执行语句
    return 返回值

面向对象

定义类

class 类名:
    定义类
    def __init__(self,属性1,属性2): #两个_
        定义属性
        self.a=属性1
        self.b=属性2
    def 方法名(selt):
        方法内容

文件操作

打开

open("路径","模式",encoding="编码方式")

只读 r 读写 w,不写模式默认只读 ,写入a,可以不将文件内容清空使用,使用r+既可读又可写

使用w时,如果文件已存在会将文件内容清空,谨慎使用

编码方式一般默认为utf-8

读取

文件变量.read(参数) #读取全部,输入参数表示读取前多少字符
文件变量.readline() #读取一行
文件变量.readlines() #读取全部

关闭

文件变量.close() #关闭文件释放内存,每次进行读取操作后最好都关闭

可以使用下面的语句,省去关闭操作

with open("","","") as f:
    操作

写入

文件变量.write("写入内容")

捕捉异常

try:
    语句
except 异常:
    语句
else:
    语句
finally:
    语句

测试

断言,若表达式值为真,则正常运行,否则终止程序

assert 表达式

unittest 测试库,需要通过import导入,使用时需把实现代码与测试代码分开,所以测试时需要将实现代码导入

from 文件名 import 类名

测试代码,测试类定义方法必须以test_开头

import unittest
from 文件名 import 类名
class 测试类(unittest.TestCase):
    def test_xxxx(self):
        测试内容

在终端中使用下列命令,可直接运行所有测试中所有以test_开头的方法

python -m unittest

 为避免测试def方法中的内容重复,可以在test_方法之前调用setUp方法,这样,每次执行test_之前都会先执行一遍setUp方法

requests发送请求

安装扩展包

pip install requests

导入模块

import requests

访问网站 get

相应状态码 变量名.status_code

是否请求正确 变量名.ok

变量内容 变量名.text

有些服务器会判断请求是否为程序请求,从而禁止程序请求,所以需要通过headers伪装成网页请求

headers={"User-Agent=找一个网页,右键查看他的这个值"}

再将参数传入get方法

解析网页内容 Beautiful Soup

安装扩展包

pip install bs4

引入库

from bs4 import BeautifulSoup

解析html

将html解析成为类似树形结构

soup=BeautifulSoup(content,"html.parser")

输出时,输出标签例 

soup.p

查询所有标签

返回一个可迭代的对象,可以通过循环得到所有标签

attrs是筛选标签,可省去

all_prices=soup.findAll("p",attrs={"calss":"price_color"})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值