Python基础总结(一)

本文深入探讨了Python的range()函数及其在for循环中的应用,同时详细介绍了requests库的get方法,包括URL、headers、params、proxies、verify、timeout等参数的用法,展示了如何进行HTTP请求和处理响应内容。此外,还提到了字符串的编码与解码以及TensorFlow中的随机数生成和数组操作。
摘要由CSDN通过智能技术生成

Python学习笔记

本文主要记录python学习中所遇函数的用法和用例

range()

函数作用:
用于生成一整数序列

函数语法:
range(start, stop[, step])

参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

>>>range(10)        # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)     # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)  # 步长为 3
[0, 3, 6, 9]
>>> range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]

在for循环中经常用到
>>>x = 'runoob'
>>> for i in range(len(x)) :
...     print(x[i])
... 
r
u
n
o
o
b
>>>

requests.get

requests是一个简单的请求库,其中的get方法可以像指定服务器发送get请求

参数说明:

url(请求的url地址,必需 )

形式:字符串

意义:作为请求的url地址

使用方法:

import  requests
url="http://www.baidu.com"
resp=requests.get(url)#向url对应的服务器发送相应的get请求,获得对应的相应 。

headers参数(请求头,可选)

形式:字典

意义:作为请求的请求头

使用方法:

import requests
url=r"https://www.baidu.com/s"
Headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"
         }
response=requests.get(url=url,headers=Headers)

params参数 (请求参数,可选)

形式:字典

意义:作为get请求的表格信息,会被显式的加到url中

使用方法:

import requests
url=r"https://www.baidu.com/s"
#以带参数的Get请求,请求对应页面,比如百度搜索 Python,只需
Params={"wd":"Python"}
Headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}
response=requests.get(url=url,params=Params,headers=Headers)
print(response.request.url)#输出:https://www.baidu.com/s?wd=Python

proxies参数 (代理IP,可选)

形式:字典

意义:作为用户代理,访问服务器会以该代理的ip访问服务器,可掩盖本机ip.

使用方法

import requests
#proxies 是伪ip使用代理访问页面
#下面是使用代理访问百度
Headers={"User-Agent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Mobile Safari/537.36"
         }
#proxies的格式是字典,类型:协议表示+域名+端口
proxies={
    "http":"http://1.192.242.107:9999"
    # "https":"https://192.168.0.1:80"
}
url="https://www.baidu.com"
resp=requests.get(url,headers=Headers,proxies=proxies)
print(resp.content.decode())

verify参数(ssl证书验证,可选)

形式:bool类型

意义:ssl证书验证是否跳过,用于访问有些页面出现证书验证错误的时候

使用方法:

'''
当访问https页面出现证书错误,可以使用verify来取消验证
在get或者post请求的verify参数设置成False
requests.get(url,headers,data,prams,proxies,verify=False)
'''
import requests
url="https://www.12306.cn"
resp=requests.get(url,verify=False)
print(resp.content.decode())

timeout参数 (延迟限制,可选)

形式:实数类型

意义:通过添加timeout参数,能够保证在指定秒钟内返回响应,否则会报错

使用方法:

‘’’
超时参数的使用
response = requests.get(url,timeout=3)通过添加timeout参数,能够保证在3秒钟内返回响应,否则会报错

'''
import  requests
proxies={"http":"http://1.192.242.107:9999"}
url="http://www.baidu.com"
try:
    resp=requests.get(url,proxies=proxies,timeout=3)
except :
    print("运行时出错")

cookies参数 (作为cookies,可选)

形式:字典

意义:使用该参数会显式将cookies字符串加入到请求头的cookies中

join()函数

语法: ‘sep’.join(seq)

参数说明

sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

os.path.join()函数

语法: os.path.join(path1[,path2[,…]])

返回值:将多个路径组合后返回

open函数

python open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

函数的语法是:
open(name[, mode[, buffering]])

参数说明:

name : 一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

参数Mode的基本取值

r、w、a为打开文件的基本模式,对应着只读、只写、追加模式;
b、t、+、U这四个字符,与以上的文件打开模式组合使用,二进制模式,文本模式,读写模式、通用换行符,根据实际情况组合使用、

常见的mode取值组合

1、r或rt     默认模式,文本模式读
2、rb      二进制文件
3、w或wt     文本模式写,打开前文件存储被清空
4、wb        二进制写,文件存储同样被清空
5、a          追加模式,只能写在文件末尾
6、a+          可读写模式,写只能写在文件末尾
7、w+           可读写,与a+的区别是要清空文件内容
8、r+         可读写,与a+的区别是可以写到文件任何位置

.text
响应内容的str形式

.content
响应内容的二进制形式

decode函数
对所选内容进行重新编码

decode()方法的语法
str.decode(encoding=‘UTF-8’,errors=‘strict’)

参数
encoding ——要使用的编码,如:utf-8,gb2312,cp936,gbk等。
errors ——设置不同解码错误的处理方案。默认为 ‘strict’,意为编码错误引起一个 UnicodeDecodeError。 其它可能得值有 ‘ignore’, 'replace’以及通过 codecs.register_error() 注册的1其它值。

实例

u = '中文' #指定字符串类型对象u
str = u.encode('gb2312') #以gb2312编码对u进行编码,获得bytes类型对象str
u1 = str.decode('gb2312')#以gb2312编码对字符串str进行解码,获得字符串类型对象u1
u2 = str.decode('utf-8')#如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的字符串内容

tf.random.normal

tf.random_normal()函数用于从“服从指定正态分布的序列”中随机取出指定个数的值。

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

shape: 输出张量的形状,必选
mean: 正态分布的均值,默认为0
stddev: 正态分布的标准差,默认为1.0
dtype: 输出的类型,默认为tf.float32
seed: 随机数种子,是一个整数,当设置之后,每次生成的随机数都一样
name: 操作的名称

random.shuffle

用于将列表中的元素打乱

tf.gather

tf.gather(params,indices,axis=0 )
从params的axis维根据indices的参数值获取切片
例如:indices = [2, 1, 3, 1],如下所示
在这里插入图片描述
tf.Variable(initializer,name)函数

参数initializer是初始化参数,name是可自定义的变量名称,用法如下:

import tensorflow as tf
v1=tf.Variable(tf.random_normal(shape=[4,3],mean=0,stddev=1),name='v1')
v2=tf.Variable(tf.constant(2),name='v2')
v3=tf.Variable(tf.ones([4,3]),name='v3')
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(v1))
    print(sess.run(v2))
    print(sess.run(v3))

结果如下:

[[-1.2115501 1.0484737 0.55210656]
[-1.5301195 0.9060654 -2.6766613 ]
[ 0.27101386 -0.32336152 0.44544214]
[-0.0120788 -0.3409422 -0.48505628]]
2
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值