selfteaching / the-craft-of-selfteaching Goto Github PK
View Code? Open in Web Editor NEWOne has no future if one couldn't teach themself.
One has no future if one couldn't teach themself.
我是用 mac 的,很多 windows 下的状况无法“遍历”。
我只知道一部分,比如,cmd 这个命令行工具不太适合使用 git,理论上 powershell 更好,或者需要去 gitforwindows.org 下载安装 git-bash。
各位在 windows 里遇到的情况,可以发在这里。也请 windows 专家在这里解答。谢谢!
在我的安卓手机上下载了多个APP(OpenHub、My GitHub、FastHub)都不能正常查看本书,除了正常文字之外,还有很多代码,请问各位如何像在PC端一样正常查阅?谢谢
下面2楼和3楼,都可能是你需要的。
不知道是不是文件太大了,大家有遇到这类问题吗
思考这本书如何写出来的?
python练习
用Mac电脑的毕竟少数,用windows系统的更多,为什么不介绍下windows下面anaconda和jupyterlab的安装。非要用蹩脚的命令行在mac上面安装呢?
如题,
1:安装了anaconda,也看见了jupyterlab和jupyter notebook,没搞明白怎么打开从GitHub上download下来的zip文件。
2:安装了GitHub的disktop,但是在clone的时候,中途出错。
有不明白的地方也不着急去丝扣,先把书屠戮几遍。一层一层,一块一块的理解吧。
01.preface(前言)到Part.1.E.2看完了。Part.3.D到最后看完了。
我买过好几本关于Python学习的纸质书还有好多电子书,不得其法,一直焦虑与门外。
优秀的老师与优秀的程序员的区别在于,老师能用类比的方法把不同层级不同所属的概念清晰的剥离、拆分并层次分明的解释出来。
想进群一起学习讨论进步的朋友请加我微信:xiaoshentong360
在 Part.2.D.1-args.ipynb:
中,Local Variables
被翻译为 局域变量
而其他文档中则被翻译为局部变量
个人认为统一翻译成局部变量
比较好。
在讲到print()函数的时候,举例打一个乘法口诀是极好的,随便深刻理解一下range()这个函数。
代码如下:
for m in range(1,10):
for n in range(1,m+1):
print (str(m) +"*"+str(n) +"="+ str(m*n)+" ",end ="")
print() # default end =“\n”
launchctl load 终端会报错, launchctl 不是内部或外部命令,也不是可运行程序,或批处理文件。
这个实在不知道怎么解决,google了,我是win10系统
配置环境想“刨牛毛”一样麻烦,若有单独一章讲解,则会对没接触过Python的人友好许多。
市面上也有很多书籍供人借鉴,比如:
《笨方法学Python》是Learn Python The Hard Way的中文书名,个人倾向于翻译成《认真学Python》。
而后在 Terminal 里执行:
launchctl load ~/Library/LaunchAgents/com.jupyter.lab.plist
系统环境linux, ubuntu.
请问缺少什么路径还是什么依赖的包文件吗?
美国 PBS 制作的40集《计算机科学速成课》,每集10分钟,动画讲解计算机科学的基本概念,国内志愿者翻译的中英对照字幕。涉及到了布尔运算、计算机电路如何实现布尔运算等,非常的不错。
感觉是《编码》的视频版本
CC BY-NC-ND 4.0 协议中表明:
这是否意味着将代码块替换为其他语言版本,即使署名出处,也不能发在自己的公众号上?
https://github.com/selfteaching/the-craft-of-selfteaching/blob/master/00.cover.ipynb
本节最后给出了一个关于自学的递归函数,其中有几点问题。
一是这个函数无法终止。我本来以为这是“学海无涯”的意思,但后来一想,运行时间可以无限,但人的脑容量毕竟是有限的,最终还是会stackoverflow。
二是这个函数是一个标准的尾递归。尾递归理论上一定可以被loop重写,因此除了编码方便,在运行时间和空间上都没有优势,以至于一些编译器会默认优化尾递归。这里作为递归的一个示例不太合适。
建议改为:
def TeachYourSelf(anything):
while not create(something):
learn()
if require someotherthing:
TeachYourSelf(someotherthing)
practice()
return "Eureka"
TeachYourSelf(coding)
TeachYourSelf(another1)
TeachYourSelf(another2)
...
you can you up, no bb
是一句中式英文版的俗语:你行你上啊,别哔哔
。
我弄了1个小的微信群,群的名字就叫做:you can you up, no bb
。主题就是吃透笑来的这本新书,通过自学python来掌握自学能力。
并做了一个 应景 的小“作业集”,是作业集而不是教程,是因为这个过程中,有节奏地靠自学掌握技能,其实比直接拿来主义获得知识点似乎更重要。
这里没有“老师”,只有大家都在一块儿学,一块儿前行,一块儿完善 对 从0到1 的初学者 更友好 的 作业集。——还有,如果你想要面向 从0到1的初学者 提供一些有价值的文章,也可以进来发现有价值的场景,由此写出你有价值的文章。
这里每个人都是“老师”,因为“教是最好的学”,教自己,和尝试教会别人,都还挺需要一起练习的。
如果你暂时没有任何python相关的社交氛围,欢迎加我的微信号 qiaoanlu ,会自动通过好友,请说明来自github,想加入you can you up, no bb群。
李笑来讲座预告:如何通过python习得自学这门手艺? 新生大学
是也乎,( ̄▽ ̄)
这种直接使用开源图书组织收费课程的形式是否吻合
Creative Commons — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0
建议
在正文, 或是 README 中给出正确的图书使用形式...
否则, 将有无数聪明人来试探底线的...
用的是jupyter notebook
是一个一个ipynb的打开,还是有什么方法可以便捷地阅读
安装完Anaconda后,开始安装如下组件:
conda update conda
conda update anaconda
conda install -c conda-forge nodejs
conda install -c conda-forge jupyterlab
打开terminal,输入后报错:zsh: command not found: conda
花了一天时间,完整读完了《自学是门手艺》中的自学部分,收获颇多。
我想对于在电脑上的操作来讲,看实实在在的视频演示比阅读文字效率估计要高10倍。
李笑来果然厉害
Part.3.G中,我写过的一本“书”,发布在网上,显示此内容因违规无法查看
苹果的terminal和anaconda prompt,以及win下面的powershell.还有gitbash,有点分不清楚。。。
书中rst2ipynb
模块是利用pandoc把转.rst
格式.md
再转ipynb
,然而现在pandoc可以直接把.rst
格式转化为.ipynb
。不过这样转化会有个问题——所有内容都跑到一个Unit去了。
安装好pandoc后,在.rst
文件所在的命令行输入pandoc {file_name}.rst -o {file_name}.ipynb
便可成功转化。如:
pandoc appendix.rst -o appendix.ipynb
cd ~/Downloads/cpython/Doc/tutorial/
for f in *.rst
do
pandoc $f -o "${f/%.rst/.ipynb}"
done
mkdir ipynbs
mv *.ipynb ipynbs/
上述命令在windows的git bash也可用。
本人还试图使用python编程:
"""
file: rst_to_ipynb.py
"""
import re
import os
rst_files_list = os.popen('ls *.rst').read().split('\n')
rst_files_list.pop()
pattern = re.compile("(.*)\.rst")
base_path = os.getcwd()
if rst_files_list:
if not os.path.exists('ipynbs/'):
os.mkdir('ipynbs')
for file in rst_files_list:
file_name = re.match(pattern, file).group(1)
os.popen(f'pandoc {file_name}.rst -o {file_name}.ipynb') # e.g pandoc appendix.rst -o appendix.ipynb
# os.rename(os.path.join(base_path, f'{file_name}.ipynb'),
# os.path.join(base_path, 'ipynbs'))
将上述代码保存到.rst
文件所在的目录中,在该目录的命令行输入:
python rst_to_ipynb.py
mv *.ipynb ipynbs/
学习中
在 Part.1.E.6.containers.ipynb
一节中, 笑来老师分别用了del
和 del()
对列表进行了操作:
del c_list[3]
print(c_list) # del 是个命令,del a_list[3] 是一个语句;不能这么写: print(del a_list[3])
以及:
del(L[2])
print(L) # 用 del() 对 L 操作之后,L 本身少了 1 个元素
我的疑问是del statment 和 del() function 有什么区别?
我测试了用del 和 del() 对列表进行操作,发现返回的结果是一样的:
L1 = ['1', '2', '3']
del L1[1]
print(L1)
L2 = ['1', '2', '3']
del(L2[1])
print(L2)
['1', '3']
['1', '3']
在这里 我找到了关于del statment 的解释,但是并没有在Built-in Functions中找到del()
所以说del()
并不是一个 Built-in Function ?在哪里可以找到关于del()的说明?
Part.1.E.4中的脚注提到:
print() 函数的官方文档里,sep='' 肯定是 sep=' ' 的笔误 —— 可以用以下代码验证(2019.02.14)
而现在(2019.03.16)复制粘贴文档中的sep=' '
,会发现是有空格的。
这是改了么?
文件Part.1.D.preparation.for.reading.md
中,有两处《[Jupyterlab 的安装与配置](z-appendix.jupyter-installation-and-setup.ipynb)》
,z-appendix
好像要改为T-appendix
?
在本机和GitHub上均无法打开。
据统计,全书“于是”出现次数 139 次。有些地方承接关系可以不用或者换其他方式,比如前言部分:
那时候小朋友们还没学、或者没学好概率这个重要知识,于是,他们并不知道那只不过是 99% 的情况,而且更不知道“因素的重要性与它所占的比例常常全无正相关”,所以当然不知道那自己尚未 见到的 1% 才可能是最重要的……
于是,99% 的小朋友们一不小心就把自己“搭了进去”:
不仅讨厌老生常谈,而且偏要对着干,干着干着就把自己变成了另外一个属于那 99% 的另外一个老生……
这是 99% 的人终其一生的生动写照。
那时候小朋友们还没学、或者没学好概率这个重要知识,他们并不知道那只不过是 99% 的情况,更不知道“因素的重要性与它所占的比例常常全无正相关”,当然也不知道那自己尚未见到的 1% 才可能是最重要的……
99% 的小朋友们一不小心就把自己“搭了进去”:
不仅讨厌老生常谈,而且偏要对着干,干着干着就把自己变成了另外一个属于那 99% 的另外一个老生……
这是 99% 的人终其一生的生动写照。
npm config set registry https://registry.npm.taobao.org
jupyter labextension install @jupyterlab/toc
jupyter labextension install @ryantam626/jupyterlab_sublime
jupyter lab build
看了很多人的问题,对Git是一脸懵逼,这里简单介绍下,同时附带几个国内讲解Git的链接,希望大家能理解到笑来老师的良苦用心。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.