Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

编程思维 Python 基础班四期入学挑战 #138

Open
iamzhuoxuan opened this issue Jul 25, 2017 · 15 comments
Open

编程思维 Python 基础班四期入学挑战 #138

iamzhuoxuan opened this issue Jul 25, 2017 · 15 comments
Assignees
Milestone

Comments

@iamzhuoxuan
Copy link
Contributor

iamzhuoxuan commented Jul 25, 2017

欢迎你,开智学堂「编程思维 Python 基础班」四期学友!

参加课程需有一定基础,为顺利参与课程,请你在 8 月 4 日 11:42 前完成以下入学挑战 ——

挑战说明

基础任务(必做)

  1. 使用 Python2 完成 《笨办法学 Python》 前 40 个小练习及相应附加题(即 Study Drills,别忽略这部分哦):
    • 你可在各大电商网站购买此书纸质版/电子版
    • 每个小练习大约需投入 15-30 分钟,完成前 40 个小练习大约需投入 7〜20 小时
    • 如果实在来不及,请至少完成前 21 个小练习及相应附加题
  2. 写一篇不少于 300 字的小结,回顾练习过程,包括以下要点:
    • 回顾练习过程:整体是否顺畅?哪些练习比较顺畅?哪些练习遇到了困难?
    • 复盘解题过程:遇到困难,你是如何解决的?请举一例,详细描述你发现问题、探索问题、解决问题的全过程和各环节时长。你做了哪些尝试?哪些环节可以做得更好?
  3. 将上述练习成果、学习笔记和小结(建议使用 Markdown 撰写)同步到个人 GitHub 公开仓库,仓库名自定。建议你使用 Git 命令同步。

进阶任务(选做)

学有余力,还可选做以下进阶挑战,会有额外加分喔 ;)

  1. 给 6 个月前的自己当老师,写一篇教程教会他/她如何使用 SSH 连接 GitHub 仓库,并使用 Git 命令操作仓库,至少包括 pull / push / commit / add / merge 5 个命令。字数不限。
  2. 记录自己完成本次入学挑战的「心流(Flow (psychology) - Wikipedia)」次数,并分析小结一下:
    • 什么情况下,你更容易进入心流状态及心流持续更长时间?什么情况下,你很难进入心流状态?
    • 为了更容易进入心流状态、享受更长的心流时长,你打算提前做哪些准备?

提交方式

  • 本仓库新建一个 Issue :
    • Issue title 为 [你的名号]完成 Py104 入学挑战啦 ,例如:小明完成 Py104 入学挑战啦
    • Issue 正文给出你 GitHub 仓库的挑战成果地址;
    • 在 Issue 正文中聊聊你完成入学挑战的体验,分享挑战完成建议或学习 Python 的方法、经验;
  • 提交截止时间:2017 年 8 月 4 日 11:42

提交后:

  • 你将在 8 月 6 日 24:00 前收到邮件,知晓入学挑战结果。若通过挑战,将正式进入课程学习;否则将在 8 月 14 日 24:00 前收到原支付渠道退还的全额学费。
  • 如果还有时间,期待你继续完成 《笨办法学 Python》 小练习,完成越多后续学习越顺畅哦。

其它提醒

  1. 提交入学任务时,请同时完成学员信息表(见入学任务邮件)填写。越早提交任务及表单,越早收到后续学习通知。
  2. 入学挑战并非闭卷考试,你可以动用各种方法,促进自己完成挑战 —— 如在本仓库发布 Issue 提问、和其他学友交流探讨、向身边的工程师朋友请教等。
  3. 正式课程将使用 Python 3.6.1(符合工程界趋势)。如果你此前已使用 Python 3 ,可直接提交 Python 3 版任务成果。
  4. 入学挑战中的优秀实践见 入学挑战中你遇到了哪些优秀实践?欢迎在此分享~ · Issue #145
  5. 对上述入学任务有疑问,可先翻阅 入学挑战常见问题指南 · Issue #150 ,如果仍未解决,可在此 Issue 下直接留言提问 ;)

期待你的挑战成果~

PS. 如果你还没 GitHub 头像,建议尽快更新头像,方便其他学友记住你。尽量各平台统一哟 ;-)

@iamzhuoxuan iamzhuoxuan self-assigned this Jul 25, 2017
@sunnyhuang42 sunnyhuang42 modified the milestone: Py104 Jul 25, 2017
@Merly-61
Copy link

Merly-61 commented Jul 25, 2017

课程组借这个 comment 公告一下(2017-07-30 11:49:23):

各位有技术问题请新建 Issue 提出,请勿回复本 Issue 提出


想尽快和大家步调一致,习惯一致!有以下问题请教:

  • 问题01:用git命令同步,是指使用终端键入git命令来实现文件上传吗?
  • 问题 02:大家平时使用GitHub Desktop吗?
  • 问题03: 大家平时用什么编辑器?

@Vwan
Copy link

Vwan commented Jul 26, 2017

@ ssscaptain
01: 我觉得是的
02: 我一般不用,如果会终端的话也不太建议用desktop
03: 我用的Anaconda 的spyder. Atom也可以的

@Vwan
Copy link

Vwan commented Jul 26, 2017

对于基础好些的同学,做前面的练习可能更觉得没多大挑战性,为避免“不屑”情绪,突然想到一个方法,既可以从头到尾做下来,还可以多带动点脑子,我自己试验了一个,觉得还挺有趣的,推荐给大家

方法就是:看着书中每章的“你应该看到的结果”部分,倒推出代码(需要用到该章的知识点),而不是看着代码一个一个的敲出来。然后再跟作者的源代码作比较。

@simpleowen
Copy link

@ssscaptain

问题01:用git命令同步,是指使用终端键入git命令来实现文件上传吗?

使用 git 命令同步,我也觉得是在终端下输入 git 的命令在远程仓库与本地之间进行文件推拉

问题 02:大家平时使用GitHub Desktop吗?

可以体验下 GitHub Desktop,但咱们既然搞编程了,是不是可以使用更 geek 的方式:命令行

问题03: 大家平时用什么编辑器?

有的用 Vim,有的用 Sublime Text,有的用 Atom。。。

@Merly-61
Copy link

@Vwan @simpleowen 谢谢啦 去做任务,各位师友,回见!

@Hugo1030
Copy link

Hugo1030 commented Jul 27, 2017

@ssscaptain

问题01:用git命令同步,是指使用终端键入git命令来实现文件上传吗?

使用终端,现在一般使用iTerm2,iTerm2新手应知特色功能--阳志平

问题 02:大家平时使用GitHub Desktop吗?

用命令行更方便。

问题03: 大家平时用什么编辑器?

Atom或者TextMate,最近编程特别喜欢用Jupyter notebook,强烈推荐。

@wuxiaopei
Copy link

看到这种使用Github进行交流的方式,真的不要太好。

@wangluzhou
Copy link

wangluzhou commented Jul 29, 2017

发现一个比较奇怪的现象,关于%r%s的效果的。
输入以下代码来测试%r%s的效果:

print "%s" % "\"\"\'\'dada"
print "%r" % "\"\"\'\'dada"

输出结果如下:

""''dada
'""\'\'dada'

很奇怪,双引号的转义符号没有打印出来,但是单引号的转义符号打印出来了。不知道如何解释

感谢@mydream378

对的, 因为%r打印出的字符自带单引号,因此字符中的单引号打印出转义字符,以示区别。

@mydream378
Copy link

mydream378 commented Jul 29, 2017 via email

@Wangjunyu
Copy link

@wangluzhou
每一个Python开发者都是从不知道开始的,发现问题是非常棒的第一步,你细心的找到了差异并且提出了问题。
下一步建议是尝试解决问题,自己回答自己,如果你两天后搞明白了,就在这里回复,教会两天前的自己。
如果问题没有解决,也可以把你的探索过程和思路以及最后遇到的困难点写出来,让大家一起来帮你解答问题。

Python的课程是不断升级打怪的过程,期待你打倒这个关于转义字符和不同打印模式的小怪兽~

@wangluzhou
Copy link

wangluzhou commented Jul 29, 2017

如果我直接写
indata = open(from_file).read()
那open()这个文件对象如何close()呢?Python解释器是不是会自动在调用indata调用完成之后就释放open(from_file)这个内存?


我网上查了一下python的回收机制,有这么一段话:

在Python中,大多数对象的生命周期都是通过对象的引用计数来管理的。从广义上来讲,引用计数也是一种垃圾收集机制,而且也是一种最直观,最简单的垃圾收集技术。
原理:当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1;当对象的引用计数减少为0时,就意味着对象已经没有被任何人使用了,可以将其所占用的内存释放了。

所以我的理解是当上面这句代码执行完之后,对象的引用计数就为0,对象就会被内存释放了。

@sunnyhuang42
Copy link
Contributor

sunnyhuang42 commented Jul 30, 2017

各位有技术问题请新建 Issue 提出,请勿回复本 Issue 提出

很高兴看到上面各位主动来 Issue 交流,不过 Issue 最好一事一议,各位再有新问题,请新建 Issue (点击页面右上角的 new issue )来交流~

@justin007755
Copy link

@wangluzhou 不是提新问题,只是回一下wangluzhou同学的问题。从python的官方文档里就有一些说明,可以参考:
https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects

....If you’re not using the with keyword, then you should call f.close() to close the file and immediately free up any system resources used by it. If you don’t explicitly close a file, Python’s garbage collector will eventually destroy the object and close the open file for you, but the file may stay open for a while. Another risk is that different Python implementations will do this clean-up at different times.

@wangluzhou
Copy link

强迫思维犯了,如何二次确认自己已经注册的个人信息?

@sunnyhuang42
Copy link
Contributor

强迫思维犯了,如何二次确认自己已经注册的个人信息?

@wangluzhou 是指什么个人信息呢,用户信息表里填的吗?现在担心拿不准的话,可以重新填写一遍检查清楚哦。入学挑战结束后,170806 24:00 前会给通过挑战的同学配置权限发送邮件通知,届时如果没收到相关邮件或权限获取出现问题,可以联系一休~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests