广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3学习笔记
  • 566
分享到

python3学习笔记

学习笔记 2023-01-31 01:01:15 566人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

好久不用python,努力捡起来ing python3语法 字符串 repr()把其他类型变量转换为字符串 ord()把单个字符转换为相应的ascii码 int()把其他进制的“字符串”转换为十进制 int(str,n

好久不用python,努力捡起来ing


python3语法

字符串
repr()把其他类型变量转换为字符串
ord()把单个字符转换为相应的ascii码
int()把其他进制的“字符串”转换为十进制

int(str,n),其中str是字符串,n是进制,Eg:

>>> int('1101',2)
13
from numpy import *和import numpy的区别

前者是引入numpy包中的所有类,后续代码中可以直接使用类的方法。后者是引入numpy包,如果需要使用同名类的方法,需要加类名。
Eg:

from numpy import * import numpy
mat(random.rand(4,4)) numpy.mat(numpy.random.rand(4,4))

列表、元组、字典
列表

list1=[‘A’,‘A’,‘B’,‘B’],访问时用索引,list1[2]=‘B’

多维数组赋值

下面的方法,如果是一维数组,没有太大问题,改变其中一位不会影响其他位:

>>> t=[0]*5
>>> t
[0, 0, 0, 0, 0]
>>> t[2]=1
>>> t
[0, 0, 1, 0, 0]

但如果是二维数组,如t=[[0]*3]*4,则后面的*4其实是复制了一个数组对象,这样的话,每行的数组对象都是一个对象,所以改变其中一行的某列,会同时改变所有行的该列。

>>> t=[[0]*3]*4
>>> t
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> t[0][0]=1
>>> t
[[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]

所以为多维数组赋值,最好写成这样:

>>> sig = [[0 for col in range(cols)] for row in range(rows)]
列表的复制

类似列表赋值,对于一维列表,可以使用b=a[:]来复制,这样改变b不会改变a,改变a也不会改变b。但是对于二维列表,需要用copy库的deepcopy了。

元组

与列表基本相似,区别在于元组无法修改其中的元素(删除/替换etc)

字典

字典中保存的是键值对
Eg:

>>> classCount={'A':2,'B':1}
>>> classCount
{'A': 2, 'B': 1}

lambda创建匿名函数

类似于def,但是更简单
Eg:

>>> sum = lambda arg1, arg2: arg1 + arg2
>>> sum(10,20)
30

sorted函数

Python3内置的排序函数,可对所有可迭代对象排序

sorted(item,cmp,key,reverse)

该函数主要有4个参数,依次是:可迭代对象item、比较函数cmp、比较的元素key、是否逆序(默认升序)
Eg:

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
 
>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>> classCount={'A':1,'B':3}
>>> sortedClassCount=sorted(classCount.items(),key=lambda item:item[1],reverse=True)
>>> sortedClassCount
[('B', 3), ('A', 1)]

注意:

  1. 自定义key和reverse比cmp执行效率高
  2. sorted()返回一个列表(list)

file相关方法
open函数

最常用的2个参数,filename、mode,需要注意open后close
推荐写法:

#写
with open('test.txt', 'w', encoding='utf-8') as f:
    f.write('test')
#读
with open('test.txt', 'r', encoding='utf-8') as f:
    f.readlines()
readlines()

读取所有行并返回列表


numpy库的函数

ravel()函数和flatten()函数

作用:把多维array变为一维

>>> x = np.array([[1, 2], [3, 4]])
>>> x
array([[1, 2],
       [3, 4]])
>>> x.flatten()
array([1, 2, 3, 4])
>>> x.ravel()
array([1, 2, 3, 4])

区别在于:ravel()函数,返回的是原先array的“引用“值,所以改变x.ravel()也会改变x,但改变x.flatten()不会改变x

shape函数

作用:返回矩阵的维度,shape[0]是行,shape[1]是列
Eg:

>>> e=array([[1,1],[1,2],[1,3]])
>>> e
array([[1, 1],
       [1, 2],
       [1, 3]])
>>> e.shape
(3, 2)
>>> e.shape[0]
3

tile函数

作用:把一个矩阵复制相应行、列
Eg:

>>> a=[1,2]
>>> tile(a,[2,3])
array([[1, 2, 1, 2, 1, 2],
       [1, 2, 1, 2, 1, 2]])

矩阵matrix的点乘multiply(a,b)
>>> a=mat([1,2])
>>> b=mat([1,2])
>>> multiply(a,b)
matrix([[1, 4]])

矩阵array的乘方**2
>>> c=array([1,2])
>>> c**2
array([1, 4])

矩阵array求和sum()

a.sum(axis=1)是求矩阵a中每行的和,axis=0求每列的和,结果均为行向量

>>> a=array([[1,1],[1,2],[1,3]])
>>> a.sum(axis=1)
array([2, 3, 4])
>>> a.sum(axis=0)
array([3, 6])


argsort(),输出排序后数组array的索引

默认按升序排序

# 对行向量
>>> a=array([1,2,3])
>>> a.argsort()
array([0, 1, 2])
# 对列向量
>>> b
matrix([[1],
        [2],
        [3]])
>>> b.argsort(axis=0)
matrix([[0],
        [1],
        [2]])
# TODO:对二维矩阵排序暂时没搞懂

zeros()

返回0阵

>>> zeros((2,3))
array([[0., 0., 0.],
       [0., 0., 0.]])

矩阵array的min()和max()

min(0)返回每列最小值,min(1)返回每行最小值

>>> a
array([[1, 1],
       [2, 4],
       [3, 6]])
>>> a.max(0)
array([3, 6])

ptp()

函数计算数组中元素最大值与最小值的差(最大值 - 最小值)
0求每列,1求每行

>>> a
array([[1, 1],
       [2, 4],
       [3, 6]])
>>> a.ptp(0)
array([2, 5])

合成矩阵hstack()和vstack()

hstack()按列合成,vstack()按行合成

>>> a
matrix([[1, 2],
        [1, 3]])
>>> b
matrix([[0],
        [0]])
>>> c=hstack((b,a))
>>> c
matrix([[0, 1, 2],
        [0, 1, 3]])

删除矩阵的某行/某列delete()

axis=0是删除行,axis=1是删除列

>>> a
matrix([[1, 1],
        [1, 2],
        [1, 3]])
>>> delete(a,1,axis=0)
matrix([[1, 1],
        [1, 3]])


替换nan的数字为0,替换inf为相应的数值numpy.nan_to_num(x)
>>> a
array([[  nan,   inf],
       [  nan,  -inf]])
>>> np.nan_to_num(a)
array([[ 0.00000000e+000,  1.79769313e+308],
       [ 0.00000000e+000, -1.79769313e+308]])

matplotlib库

scatter()函数

原型:

scatter(self, x, y, s=None, c=None, marker=None, cmap=None, nORM=None,
                vmin=None, vmax=None, alpha=None, linewidths=None,
                verts=None, edgecolors=None,
                **kwargs):
常用参数: `
x,y 散点图的横坐标和纵坐标
s 点的大小
c 点的颜色
marker 点的标志,可选:.(点)o(圈)x(叉)

Eg:
x有2种特征,y有多种取值,则可以通过

scatter(dataMat[:,1],dataMat[:,2],c=array(datingDataLabel))

绘制出不同颜色的点来表示y值

--结束END--

本文标题: python3学习笔记

本文链接: https://www.lsjlt.com/news/184866.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python3学习笔记
    好久不用python,努力捡起来ing python3语法 字符串 repr()把其他类型变量转换为字符串 ord()把单个字符转换为相应的ascii码 int()把其他进制的“字符串”转换为十进制 int(str,n...
    99+
    2023-01-31
    学习笔记
  • python3 学习笔记
    本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 g...
    99+
    2023-01-31
    学习笔记
  • Python3学习笔记01-Python
    1. 下载 python-3.6.3 下载地址:https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe安装 python-3.6.3安装的第一个界面注意选中“Add P...
    99+
    2023-01-31
    学习笔记 Python
  • python3学习笔记(2)----p
    1、python3的基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记(1)----基
    一、python3的基本语法 1、缩进统一(1个tab或者4个空格)。 for i in range(10): print (i) 2、标识符的第一个字母必须是字母(大小写字母)或者下划线,其他部分可以有字母和...
    99+
    2023-01-31
    学习笔记
  • Python3学习笔记:Python中的
    一、格式 变量 = 对象 二、简述 Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声...
    99+
    2023-01-31
    学习笔记 Python
  • Python3学习笔记之is == in
    意义 ==比较的是两个对象的值是否相等,比较常用 a = [1, 2, 3] b = [1, 2, 3] print(a == b) #True is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同...
    99+
    2023-01-31
    学习笔记
  • Python3学习笔记(urllib模块
    1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    ...
    99+
    2023-01-31
    学习笔记 模块 urllib
  • 学习Python3的精品笔记
    石墨文档地址: https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」 ...
    99+
    2023-01-31
    笔记 精品
  • python3学习知识点笔记
    class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     ...
    99+
    2023-01-31
    知识点 笔记
  • 学习笔记-小甲鱼Python3学习第四讲
    测试题0.请问以下代码会打印多少次“我爱鱼C”?while 'C':    print('我爱鱼C')当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。1.请问以下代码会打印多少次“...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十九
    函数和过程函数(function)有返回值过程(procedure)是简单、特殊并且没有返回值的变量:局部变量(Local Variable):在整个py文件中声明,全局范围内都可以调用全局变量(Global Variable):在某个函数...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第二十
    斐波那契数列:斐波那契数列的迭代实现月数123456789101112兔子总对数1123581321345589144用数学函数定义:             1,当n = 1F(n)       1,当n = 2             ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第三讲
    测试题: 以下哪个变量的命名不正确?为什么? (A) MM_520 (B) MM520 (C) 520_MM (D) _520_MM C,变量名可以用字母、数字、下划线命名,但是不能以数字开头 在不上机的情况下,以下代码你能...
    99+
    2023-01-31
    甲鱼 学习笔记 第三讲
  • 学习笔记-小甲鱼Python3学习第三十
    丰富的else语句python中else不仅可以与if搭配组成控制流,还可以与while或for搭配使用要么怎样,要么不怎样干完了能怎样,干不完就别想怎样没有问题,那就干吧举例:求素数def showMaxFactory(num):    ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十讲
    创建列表创建一个普通列表number = [1,2,3,4,6]创建一个混合列表mix= [1,3.14,'abc','张三',[5,6,7]]创建一个空列表empty = []向列表中添加元素:append(),extend(),inse...
    99+
    2023-01-31
    甲鱼 学习笔记 第十讲
  • 学习笔记-小甲鱼Python3学习第十一
    从列表中获取元素:列表索引值是从0开始的例把'郑十'和'王五'的位置调换一下>>> member['张三', '李四', '郑十', '王五', '赵六', '陈七', '马八', '孙九']>>> me...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十三
    元组中的元素不能被修改。用()把元素括起来,用,逗号隔开创建和访问元组更新和删除元组元组的相关操作符元组创建:>>> tuple1 = (1,2,3,4,5,6,7,8)            #使用()括起来,用,逗号隔...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十七
    优秀的东西永远是经典的,经典的东西永远是简单的,不是说复杂不好,而是能够把复杂的东西简单化,堪称经典。为了使代码程序实现更为简单,我们把代码分为越来越小的组成部分。分三大部分实现:函数、对象、模块python中定义函数使用关键字def>...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十二
    列表的一些常用操作符:比较操作符、逻辑操作符、连接操作符、重复操作符、成员关系操作符比较操作符:>>> list1 = [123,456]>>> list2 = [234,123]>>>...
    99+
    2023-01-31
    甲鱼 学习笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作