Python初学者8号 发表于 2021-7-23 10:30:59

2021-07-23

还是要继续学习pyyhon啊

学习这个东西还是不能松懈。

其实认真地反思自己,我还是学明白了一些内容:
1。基本的数据类型及其运算:
字符串和字符是一起有用“”或者''或者''' '''表示,最后一个多用于整块的注释
数字就是直接写就可以了,一般不涉及到很大的运算都比C中的long int的长度吧?反正我没遇到过像是C的溢出,至于很大的数可以再说——比如我之前遇到的2**23**12这个数值会出现MemoryError这种数据溢出的错误,当然这么大的数其实很少会出现;
bool运算,当然就是逻辑关系的andor not的老生常谈的东西,这些很基础,但是很重要,记住and是左边不成立右边就不判定了,而or是左边成立就不看右边了
比较运算,就是数学中的加减乘除幂运算——+-*/,**,还有比较特殊的就是什么地板除//——也就是取整数,取余数的%;
高级一点的运算还有我们对对数运算就是用调用math.log(x,base);指数运算直接pow(base,x);三角运算math,sin(弧度)和mah.cos(弧度)等,注意我们一般写的30都是弧度,可以用math.radians(角度)=弧度,这个函数来方便地进行调用
https://blog.csdn.net/liranke/article/details/83090763这个写了除法的

2.逻辑结构——分支和循环
选择分支是
if 表达式(真或假):回车
要么分支1
else:
要么分支2
这个分支是二选一的那种,第一个实现了就不会实现第二个了,我愿称之为“小孩子的选择”
这个的变体还有那种if和多重的elif,这个结构就像是选老婆一样,从第一个if开始选,直到选到满意为止!我愿称之为“满意为止”
——指的注意的是,裴老师指出,if其实也是一种函数。

循环结构就是我们之前用到的while循环 了,主要为真就可以进行下去。

当然这里面还是while可以相互地nested嵌套。还有一个简单的结构是类似C中的,就是for循环,他的结构简单,形式整洁,一看就知道是啥,这个好用的地方在于for循环可以针对iterable对象进行遍历,是个很好用的函数
注意使用循环的时候,都会有一个控制变量i的出现,这个很重要。因为我们循环的目的是进行大量迭代或者是单纯地重复的计算,不论循环死活,我们设计循环的初衷还是要有始有终——死循环也是一种“终”。
因此我们一般可以使用控制循环语句比如break来跳出整个循环,使用continue来跳出本次循环,还有pass(我目前不知道干啥用的)。
而对于我刚刚提到的量化控制的控制变量i则是我们经常要注意的东西,只要注意他是在循环完成之后更新就好了,慢慢摸索,不要被循环重复这种看似复杂其实规律十分简单的结构给搞混淆了

3 数据结构
list的创建,访问,增加删除,运算;
tuple的创建,访问;
字典的简单了解:创建,访问
还有稍微复杂的东西就是map对象啊,zip啊,这些个东西

关于这部分其实我的问题蛮多,但是归根结底是我记住的不熟练,这部分是数据结构,是基础但是不复杂的东西。我可能在过去总是想发设法在没掌握基础用法之前就去摸索一些奇技淫巧,其实这是本末倒置的。往往这些东西是用的比较少的,否则为啥是奇技淫巧呢?

4.函数和类
函数部分没啥好说的,还有了解了匿名函数。就是记住函数的用法呗——将实参传递到形参,就像数学运算带数值参数一样;主要就是这个def f(a,b):之后我们调用的时候如果是直接“叫”名字f(也即为函数名)出来的就是其id——这是显而易见的,就像网名对应id一样,这个注意就好别搞错了,class也是如此
回到class部分了,其实这部分我的 理解还是不多的,尤其是一些静态方法之类的东西,我还没完全懂。我想起来之前一个大哥说的“先会后懂”,是的我应该多找找例子去做就好了,至于用法,先看看,按照实例去做再慢慢体会。毕竟我现在没有怎么认真接触研究过实例中的class

5其他
其他的部分就是,文件的读取啊,numpy的一些矩阵运算啊,matplotlib的一些显示函数点或者直线的东西,这些基本的还是只要一些,只要给我看看我也可以写出来,就是没怎么记住——还是应该记住一点基本的结构吧。
以及之前提到的什么语法糖啊,什么main啥啥啥的我也忘了。这也也算是有所耳闻吧,还有对easygui有点这种ui的 界面的使用还是有点了解了。

总是来说的话,我还是学到了一些东西,不是什么都没学到,至少现在让我编写个程序进行科学计算局可以啊,不要否定自己,要看到自己的成绩然后再看到不足

说完了这个我再回到我的不足上来

关于不足其实就是训练少了,我经常会看一些将的东西,但是其实自己写的太少了,要么就是纠结于一些小的细节,然后去查手册或者大哥写的东西然后再次陷入到细节中,而这对于我的整体把握没有什么帮助。所以,还是按照顺序慢慢消化一下。以及,我还有个问题就是回去注意比如,内存啊,运算速度啊,数据结构啊,代码多少啊,代码的简洁程度啊这种东西。我现在应该这么理解(不知道是否正确,有人看到了请指教一下{:10_277:} ),我现阶段还是首先,让这该死的代码跑起来,偶我的老伙计,这才是第一的——可行性,然后才是考虑我刚刚说的的东西,然后这些东西其实比如代码语句数量和清晰与否都是次要的,对我在满足了可行性之后而言效率是第一的,这点是我在摸索过程中慢慢去了解如何提升效效率——比如我之前的用的哪个occ项目,我就提升了效率,那是对于数据的量来说的。实际这点还是要看看数据结构吧??

好了,总结城一句话会就是,先让程序跑起来以满足可行性,有余力再去追求效率,有能力再去完成一下代码的简洁性

最后再说一下目标吧,就像胖哥说的那种,要有目的性。我的目的就是能够进行科学计算,小计算(解方程)和大型计算(空间节理的几何表达)。然后分解为的第一个步骤就是,针对我上面提出的知识的不足,结合实例(pyy的书)和小甲鱼的视频及其作业加深巩固

最后一句话写给自己:无论是编程还是英语还是数学方法,这只是战术层面技术层面的东西,这些东西是脚踏实地的多做多想+正确的方法(持之以恒&循序渐进&目的明确)而完成的,切勿着急,终会有收获的,不要妄自菲薄也不要自以为是。加油!

2021年7月23日10:30:48

Python初学者8号 发表于 2021-7-23 22:48:41

今日学习,巩固了list的基本用法

1.列表是什么
列表是一种数据结构,它可以将一些对象存储起来。因此,根据在python中万物皆为对象的原则,可以知道,在list中的可以放置:整型,浮点数,字符串,列表,元组,函数,类等这些对象。
>>> b =
>>> b
False
>>> def f(x):
        return x+1

>>> b.append(f(1))
>>> b
2
>>> b.append(f)
>>> b
<function f at 0x0000019BFD683DC0>
>>> class C1:
        c='类'

       
>>> b.append(C1)
>>> b
<class '__main__.C1'>
>>> print(b)

2.如何创建

直接用[]

3 如何访问

直接list名字加就好了,比如b,在c中已经学过了。直接访问最后一个使用b
指的注意的是可以使用负号索引,比如b[-1]这是逆序的——顺序index从0开始,逆序从-1开始。个人觉得一般用的不是很多,可能在放在最后几个的时候用得到,或者是特殊的用法(比如排序)
还有就是切片的访问:b[:],这个也没啥好说的,注意得到的切片是深复制

>>> b

>>> id(b)
1769483346112
>>> b
1
>>> id(b)
140724897289888
>>> id( b)
140724897289888

4 如何编辑
直接编辑元素就可以了——赋值运算一样
>>> b=100
>>> b

再一个就是进行添加:使用list.append()将单个对象作为一个元素添加
>>> b.append(['boy','girl'])
>>> b
]使用list.extend()来扩展——上面可以认为是吞并,这个可以认为是合并
>>> b.extend()
>>> b
, 999, 666]以及还有一个是list.insert(),这个和append很类似。前者是直接增加到末尾,而insert还要加上索引。并且,他们的共同点都是将传入的要添加的东西作为一个整体吞并了——也即为append实际上是insert(len(list),element)
>>> b
, False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 'last', 666]
>>> len(b)
11
>>> b.insert(len(b),'the last')
>>> b
, False, 2, <function f at 0x0000019BFD683DC0>, <class '__main__.C1'>, ['boy', 'girl'], 999, 'last', 666, 'the last']

















panhz 发表于 2021-7-24 08:32:49

新手来学习{:10_257:}

Python初学者8号 发表于 2021-7-24 10:16:39

panhz 发表于 2021-7-24 08:32
新手来学习

共同努力!!

Python初学者8号 发表于 2021-7-24 10:31:27

【纠正】
逆序访问中,list[-1]就是最后一个/导数第一个,导数第n和就是list[-n]。因为逆序是从-1开始,正序是从0开始
页: [1]
查看完整版本: 2021-07-23