01线性代数-创建一个向量

自己造一个playLA

python可以import各种包,也可以自己造一个包。自己造一个playLA这样一个包,并添加了自己第一个类Vec

  • 右键new-python package-创建一个playLA

Vector.py

class Vector:

    def __init__(self, lst):
        self._values = lst
# 创建一个数组,缩写lst,传给values一个数组的方式存储向量中所有的元素

    def __getitem__(self, index):
        return self._values[index]
# 取出向量第index的元素,python的魔法方法之一
    def __len__(self):
        return len(self._values)
# 返回向量的长度(维度)
    def __repr__(self):
        return "Vector({})".format(self._values)
# 向量类的对象显示,format方式确定{}中的内容是self._values对应的内容
    def __str__(self):
        return"({})".format(", ".join(str(e) for e in self._values))
# repr是系统调用的,而str是用户调用的。用,的分隔符连连接{}中所有的元素

# __repr__和__str__分别是两个魔法方法还需进一步理解。
# str是人和人的交互的语言,repr是机器的交互语言,就目前我的理解,repr貌似没有什么特殊的用途

reprstr分别是两个魔法方法还需要进一步理解。

main_vector.py

from playLA.Vector import Vector

# 自己造一个playLA这样一个包,并添加了自己第一个类Vec

if __name__ == "__main__":

    vec = Vector([5,2])
    print(vec)
    print("len(vec)={}".format(len(vec)))
    print(vec[0], vec[1])
    print("vec[0] = {}, vec[1] = {}".format(vec[0], vec[1]))

# format方式确定{}中的内容是vec[0]和vec[1]对应的内容

不懂得代码,埋头反复敲,敲着敲着就明白了。遇到不懂得python语法点既要搞明白,又不着急搞那么明白。不要寄希望于一次把一个概念彻底搞明白,比如str和repr的区别。

  • 代码来源于bobo老师慕课网“专为程序员设计的线性代数课程”
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,817评论 0 10
  • 诉衷情·归鸿 水流婉转山重重,经秋万事空。 千里峰峦望断,尽在无言中。 珠帘卷,斜月明,绕苍松。 无由欢笑?无由泪...
    心心念念故人离阅读 777评论 9 31
  • 我们生活在一个全新的时代,从物质中去获得幸福的时代已经结束。拼命赚钱,再把钱努力花掉,像这样用力“加速”的时代已然...
    散步的蜗蜗阅读 136评论 0 0
  • 30天主题拍摄大作战已接近尾声,本周是最后一周。这周拍摄主题是夏天,可以自由发挥。 昨天晚上周点评的时候,小山东老...
    苍山暮雪阅读 473评论 2 4
  • 今天完成了工作的任务,搞完以后已经凌晨2点半。今天也和家人一起给小朋友做了体检,晚上按计划出差。在航班上先睡了一小...
    李锴锴阅读 723评论 0 50