python基础语法

这篇博客介绍了Python的基础语法,重点讲解了模块导入的方式,特别是推荐的导入方法。详细探讨了numpy库的使用,如选取矩阵列元素和获取矩阵形状。还提到了其他实用函数,如math.floor和random.sample,并讨论了数据划分的train_test_split函数。最后,文章涵盖了函数和类的定义,包括初始化函数和函数元信息的注解。

1. 模块的导入方式:

import numpy	#将numpy全部导入,后续使用其中的函数时需加上numpy.前缀
import numpy as np	#将numpy全部导入且简记为np,后续使用时加np.前缀即可
from numpy import * #将numpy全部导入,后续使用时不需加前缀,直接使用相应的函数名即可
from numpy import array	#将numpy中的array函数导入,

以上方法中最为推荐的是第二种,既不会太过繁琐,也避免了在未来的代码中可能存在的函数定义的冲突。

2. numpy库

  1. X[:,0]就是取矩阵X的所有行的第0列的元素;
    X[:,1] 就是取所有行的第1列的元素
    X[:, m:n]即取矩阵X的所有行中的的第m到n-1列数据,含左不含右

  2. shape函数可用于快速读取矩阵的形状:
    A.shape: 输出A矩阵;
    A.shape[0]: 输出A矩阵行数;
    A.shape[1]: 输出A矩阵列数.

  3. 线性代数库:linalg
    求范数:

    x_norm=np.linalg.norm(x, ord=None)
    

    默认: 二范数: l 2 x 1 2 + x 2 2 + . . . + x n 2 l_{2} \sqrt{x_{1}^{2} + x_{2}^{2} + ... + x_{n}^{2}} l2x12+x22+...+xn2
    ord=2 二范数: l 2 l_{2} l2 同上
    ord=1 一范数: l 1 l_{1} l1 ∣ x 1 ∣ + ∣ x 2 ∣ + . . . + ∣ x n ∣ \left | x_{1} \right | + \left | x_{2} \right | + ... + \left | x_{n} \right | x1+x2+...+xn
    ord=np.inf 无穷范数: l ∞ M A X ∣ x i ∣ l_{\infty} MAX \left | x_{i} \right | lMAXxi

3. 遇到的其他函数

  1. math.floor(x): 返回一个≤x的最大整数.
  2. random.sample(A,n): 在A中随机取n个元素返回.
  3. train_test_split(w,x,y,z): 对于待划分的数据集w, 其标签为x, 测试集占比为y, 随机数种子为z. (from sklearn)
  4. assert用法: 如果其后的判断语句为真,则继续执行后续语句;如果为假,则抛出异常,程序中断报错.

4. 函数与类的定义

4.1 类的定义
  1. 类名一般用大驼峰法命名;
  2. 一般需要写初始化函数,在调用类时对类的实例进行初始化;
  3. 初始化函数
		def __init__(self)  # 可以有多个参数,但第一个参数必须是self

4.2 函数的定义

  1. 函数元信息:
  • -> type :表示返回值应是某种类型(不符合可强制转换)
  • 参数后加冒号加类型:用于注解该参数的类型(Python解释器不会对这些注解添加任何的语义)
    e.g.:
    def euler_distance(point1: np.ndarray, point2: list) -> float
    
    表示参数point1是ndarray类型,point2是list类型,返回值类型为float
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值