Giter Site home page Giter Site logo

python's Introduction

Talk is cheap .Show me the code.

python's People

Contributors

zhangcici avatar

Stargazers

 avatar 浚宇 avatar

Watchers

James Cloos avatar 浚宇 avatar arlmy avatar  avatar

python's Issues

py104-ch2 探索api

好巧,7月中旬写过一份简易版的api介绍,不过停留在我给程序员提需求的阶段。
api 封装操作文档

一、如果你不知道啥是api

1、 先讲一个小故事

某天你去麦当劳点了一个巨无霸,付钱之后,店员把包装好的汉堡拿给了你。
这个简单的过程就是调用api。作为服务的需求方,你不需要知道巨无霸是怎么做的,反正你下单之后就有得吃;作为服务的提供方,麦当劳也不会担心你会知道制作巨无霸的秘方,抢他生意。封装API就是制作巨无霸,而调用api就是一手交钱一手交货的过程。“巨无霸”是调用 API 的时候传入的参数,如果想要吃薯条的话,只需要把这个参数换成 “薯条” 就好。

2、给非程序员科普API

  • 什么是API?
    API = Application Programming Interface.
    我们不用考虑 A 和 P ,只需关注Interface:接口。我们的生活中到处都是接口,电梯按钮是接口,电视遥控器是接口,搜索引擎也是一种接口。接口存在于复杂的系统之上,可以让我们不必了解系统背后所有的细节,帮我们简化某些任务。
  • 什么是参数
    参数也可能被称为变量,因为它们是变化的 - 它们是更改的URL的部分,以便更改要求的内容。将每个Web API URL视为小工具,参数可以被视为该小工具上的特定旋钮
  • 什么是响应
    响应是提供一个url之后,得到的回复。相应可能出现两种情况:
    第一:我们想要看到的一些数据
    第二:请求失败的原因。可能包括:未能提供必需的参数;需要身份验证等等。

二、如果你想知道怎么变成api

1. 合作过程

  • 明确双方所需

作为服务的提供方,我们要明确使用者的具体需求。并且要对需求进行分析,能否一次开发满足普遍需求,能否用最小开发量满足特定需求,不能拿过来需求就当解决方案用。在这个过程中需要问两个问题:

对方需要什么?
了解对方产品和业务,对方想使用我们的api输入什么参数,返回什么数据。根据需求和我们的能力设计方案,沟通如何实现需求或者给产品提供建议。
我们需要什么?
我们需要把数据和策略能力对外输出,第三方赋能,以此证明我们的价值。因此需要对每条数据的使用效果进行追踪,方便后续分析效果和收益。并且用后验数据优化我们的策略能力。另外如果数据涉及到法务问题,还要跟对方约定解决方案。

  • 线下数据测试

通常在合作前期,需要线下数据进行小流量测试。数据测试也是不断明确双方需求的过程。线下数据的要求,会变成线上需求的要点。这部分需要跟技术同学不断沟通,保证信息同步。

  • 数据回传

数据回传是证明我们价值的重要部分。我们要提供需要哪些数据字段,用什么格式传回。这部分可以参考运营和数据分析同学的意见。

  • 技术对接

到了这一步,就可以拉上双方技术同学一起讨论技术细节了。两边要约定好一些细节,需要我们技术同学产出接口文档。给出具体的排期。

  • 提测

api封装搞定了就可以验货了。

2. 产品文档

  • 产品描述:服务的概念、功能和优势
  • 操作指南:API服务的开通方法
  • 接口文档:适用于开发人员,提供获取任务结果的API接口和代码示例。(这部分可以交给技术同学完成)
    接口文档包括:接口描述;接口地址:测试地址、正式地址、请求方式、请求参数格式、相应参数格式;请求字段描述;响应内容;错误代码;实例

《“笨方法”学python 》 once again 20170729

编程新手所需的三种最重要技能

  • 读和写
  • 注重细节
    区分好程序员和差程序员的最重要的一个方面就是对于细节的重视程度。事实上,这是任何行业区分好坏的标准。
  • 发现不同
    程序员长年累月的工作会培养出一种重要的技能,那就是观察事物间不同点的能力。

坚持练习

** 不管是什么原因,你一定要坚持下去 **
编程中有一件经常发生的怪事就是,一开始你什么都不懂,这会让你感觉很不舒服,就像学习人类的自然语言一样,你会发现很难记住一些词语和特殊符号的用法,而且会经常感到很迷茫,直到有一天,忽然一下子你会觉得豁然开朗,以前不明白的东西忽然就明白了。如果你坚持完成并努力理解这些习题,你最终会学会这些东西的,也许你不会成为一位编程大师,但你至少会明白编程的原理。

哈哈

对于其他抱着学习目的来的人,你们读的时候就想着我在微笑就可以了,而且我的眼睛里还带点儿恶作剧的闪光。

《“笨方法”学python》00- a new start

a new start

编程中有一件经常发生的怪事就是,一开始你什么都不懂,这会让你很不舒服,就像学习人类的自然语言一样,你会发现很难记住一些词语和特殊符号的用法,而且会经常感到迷茫,直到有一天,忽然一下子你会觉得豁然开朗,以前不明白的东西忽然就明白了。——《“笨方法”学python》

网上编程学习资料成语特别多,很多问题也都有示例代码。以《笨办法学 Python》为例,几乎每个习题后面都有解答。很多人对着解答敲一遍,发现结果和教程的一致,就感觉自己已经掌握了。但是这里有一个误区,对着代码敲一遍并得到正确的结果并不表示你就掌握了。
你只是把别人的输出用自己的手敲了一遍而已,并没有自己的输出,这是价值低的输出,价值高的输出是加分习题以及你做加分习题过程中的思考。高价值输出就必须进行更为残酷的输入。——梁培利

这篇的开始引用两段话,一方面提醒自己不要失去信息,另一方面提醒自己不要过度自信。

开始编程学习,那一天来的似乎比想象中简单多了。由于工作的关系,开始接管数据的申请和存储,免不了的是一头雾水。当我发现团队的程序员面对新的东西也是去找wiki,一步一步去做,而我自己也按照wiki找到了解决方案,瞬间觉得他们没有那么神秘莫测。也终于明白了去年浚宇学长说的不给自己设限是什么意思。程序员们会相信一切都可以找到解决方案,这也许是他们最棒的地方。

而就像这本书里说的,笨方法更简单。再打破了心里的天花板之后,编程这件事本身竟然也是一种享受了。我按照书中的笨方法,一步一步听话的做下去。安心之余,还有很多成就感。有趣的事,会在加班之后尝试做一些习题,代码运行成功的那一刻感到无比的解压。这或许是心流的奇妙作用。

开始学习python,也得到了团队程序员小哥哥们的支持。2月15日开始翻开书,从#后面是注释都不知道,到现在已经不会害怕那些“奇怪的东西”。思维也会有变化。编程还会带来什么呢?更多的难题和更多的不懂,当然也会有更多的成就感。总之,就强迫自己输出吧。同时,我也要时刻警醒,不要认为每天输入完那些代码就完成任务了。要保持高价值的输出,留下思考才是最宝贵的。希望可以早点翻到书最后那一页,然后说那句:

你会编程,他们不会。太酷了

《笨方法学Python 18-26》

练习18
#恢复训练
一、错误:1、标点是英文字符 2、函数以冒号结尾
二、函数的checklist

  • 函数定义是以def开始的吗?
  • 函数名是以字符和下划线组成的吗?
  • 函数名是不是紧跟着括号?
  • 括号里是否包含参数?多个参数是否以逗号隔开?
  • 参数名称是否有重复?
  • 紧跟着参数的是不是括号和冒号
  • 紧跟着函数定义的代码是否使用了4个空格的缩进

运行函数时

  • 调用函数时是否使用了函数名
  • 函数名是否紧跟着(
  • 括号后有无参数 多个参数是否以逗号隔开
  • 函数是否以)结尾

Python 10——ch0作业

卡片1、 谁不曾是24K纯小白

  • everybody in this country should learn how to program a computer, because it teach you how to think.——Steve Jobs

  • 编程真的不像学习一件乐器或者从事某项运动,编程从一开始就难得吓人,但是经过时间的积累你会慢慢加以掌握。

  • 学习编程不需要你是天才,但需要你的毅力。

  • 加法、减法...仅此而已——比尔盖茨;你应该还要记得乘法表——谢家华(哦吼,我差点就信了)

  • 这就是我们所处的2013年,我们都依赖科技相互通信,处理银行账户,但我们都不知道如何读懂或编写代码。(book思议脸)

  • 当你有了一个想法,并用自己的双手实现出来,然后按下一个按钮,让几百万人都能分享你的成果。

  • 今天的程序员是未来的巫师。知道吗,你以后看起来就像拥有其他人所没有的能力。

  • Python 中文社区联合创始人 Zoom.Quiet 也有过类似情况: 我非常同情大家将经历三个月的不料自我否定过程,可又极度羡慕大家能在年轻时可以参与课程。大妈们都是在大学以及其后多年完全迷妄状态中,没有任何外力/课程/教练支持中,生生是独自从经验的深渊中爬出来的!回首思量,一片冷汗!

  • 没有坚持的原因, 千千万。 坚持下来的原因, 很简单, 多坚持一会

卡片2、本周关键行动

  • 【学习方案】

制定学习日程计划、流程计划——keynote产品计划

  • 【完成任务】

  • - 任务1:7个用 Python3 实现的小练习

  • - 任务2:教六个月前的自己学编程

  • - 附加任务:猜数字游戏

  • - 笔记1:《初识Jupiter notebook》

  • - 笔记2:《/python2 变身 python3》

  • - 笔记3:一些卡片

  • - 线下活动心得《开学典礼·一个自带BGM的男人》

  • 【社群活动】
    参加开学典礼

卡片3

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules. Although practicality beats purity.

Errors should never pass silently. Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch.

Now is better than never. Although never is often better than right now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

卡片4 欢迎小鸭子

2017.8.10
热烈欢迎新同学小鸭子!嗨,鸭纸同学你好。你是一只会编程的鸭子,哦不,现在你还是个小白鸭子。从今天开始,我们将一起学习写代码。自己一个人在屏幕上码那些符号,难免有厌烦的时候。我们一起来完成,相互打气会好些。如果遇到问题,谁先学会就给对方讲一下好不好哇。要是我们都搞不懂,还有很多人可以帮助我们呀。等到你变成一只会编程的小鸭子,我会把你的作品给大家炫耀的。

编程思维 Python 基础班,写在开课之前

没有任何犹豫且平静地,快速完成报名的操作。
想象着三个月后的自己,会对现在的自己说什么。也许是我终于入门了这项对我来说最难的技能,也许又一次中途放弃了也未可知。又是一年七月徐徐,又是熟悉的方式和流程。如今的我,却早已不是一年前的自己。接触了更多,看到了更多。相对于过去的“未来”果然不是那是的我所能想象到的样子,惊喜远远胜过迷茫。
当所有的情绪渐渐落定,我愿意选择这样一种方式继续写生活的注脚。再深刻一点,再勤奋一点。那些我不知道的,我不会的,我现在无法做到的,每一点每一个,去解开问题的谜底。不管是为了能跟程序员大哥们更好的交流,还是为了进入一个完全不同的世界,或者单纯就是想再挑战自己,我愿意沉下来面对我曾经最害怕的代码。积累每一瞬快乐的情绪,积累每一个克服无知的勇气,积累每一点微小的进步。
生活的惊喜在于,这个七月末不仅开始正式学python,同时还正式的开始拉小提琴。如果把两件很难的事一起做,会是什么样呢?负负得正也是很有趣的事。

Py104-ch1

【本周关键行动】
1、开始主线任务——公网版天气查询程序
未来 7 周,你将循着主线任务「天气通」的牵引,亲身体验如何一步步将想法变成越来越酷的程序。

  • 尝试、验证核心功能,完成 MVP ~ ch1:CLI
  • 获取实时数据,将最小产品应用于实际生活 ~ ch2: API
  • 利用数据库管理数据,将程序分享给全世界 ~ ch3 - ch5: Web & PaaS
  • 部署到微信,在手机随时随地使用你的程序 ~ ch6: WeChat
    注:MVP ~ Minimum Viable Product, 最小可行产品

2、本周天气查询程序的 MVP

  • 使用 MVP 思维开发
  • 从文件中读取数据
  • 使用不同的数据类型
  • 在命令行界面和程序交互

3、每次接到任务后,不妨先思考:

  • 确定 MVP: 任务需要实现哪些功能?最核心的功能是什么?
  • 确定开发计划:初步的实现思路是什么?如何一步步完成开发?
  • 实现 MVP: 如何将核心功能转化为具体步骤?有哪些知识点可以用上?
  • 有初步思路后(无需完全想清),即可动手编程。在输出中,思路会越来越清晰。

谁还没写出过几个错

【0001】
B000000098669A:~ zhangxi12$ python exl.py
python: can't open file 'exl.py': [Errno 2] No such file or directory

Py104——开学典礼·一个自带BGM的男人

出场

我一直幻想现实场景里可以像电影那样,按不同心情和对话响起BGM。哇 今天终于遇到一个这人的人诶!

大妈第一次出现在小小会议室里,手拿麦叔家咖啡,背轻便双肩包,掏出小小黑色JBL音响。发型跟想象中不太一样,语气倒是跟想象中文章里的一样。单口开始之前,大妈打开网易云,轻轻的钢琴声从小黑音响中流出来,充满幽默和智慧的交流也开始。不禁感叹,真真是自带BGM的男人。

单口开始

  • 话题1 编程新手和专家最大的区别是什么?
    为啥你做手擀面不如妈妈和外婆嘞?为啥你两小时做不完,她们几分钟就做完了呢?外婆做了六十年,妈妈做了二十年。——孰能生巧?
    从新手变成专家,没有从0到1的瞬变,是经验和直觉的糅合。
    孰能生巧:量变到质变。巧在哪呢?大家早已具有孰能生巧的能力。课程交的不是编程本省,教的是工程师思维和意识,锻炼思维的肌肉。
    高手的习惯对你来说没法直接用。习惯本身不重要,如何形成习惯的过程在重要。要自己生“巧”才行。
    专家和新手的心态:平常心 vs 患得患失

  • 话题2 新手学习python的发展路径
    编程水多深?类比化妆博主
    python能干啥?日常接触的软件,你没有被完全满足的需要,python都能解决。
    想知道发展路径?——想要对语言有信心。更加高效自信的学习方法

  • 话题3 如何写出规范优雅的代码?
    对于规范优雅的代码有定义吗?好文章和好代码一样,要多看好的,所谓品味。
    1、绝对标准:能执行,效率高
    2、在开源找到好代码、和他们的历史版本
    3、相同的功能,代码少一半,性能会提高一倍

  • 话题4 如何debug?
    debug——对问题剖析;主观意识判定,定位问题;降解问题;
    解决问题:留心
    文档:正规的发布渠道;固化的结构

    不会用谷歌
    问题1、不能登
    问题2、不知道一些符号使用
    问题3、信心不足,互联网中有一切资源(大妈:搜索好几百次以上才能找到)
    问题4、报错和问题是直接关联吗?怎么找到关键词(先用中午用百度搜,找到英文词,再到谷歌搜;在youtube查)

  • 话题5 注释
    to do list
    记录复杂的逻辑和结构
    最好的注释是没注释 最好的代码是不用注释可以记住代码

结尾

最后这段是在是很棒,精彩得必须要原文引用了
“ 以前下载电影要打开软件等很久,学了编程之后可以发链接给微信公众号让电脑自己下载。这是有编程能力和没有编程能力的差别。每个人的一天都是平等的,一天你能干几件事情,程序员能干几件事情。他们不断的把事情交给电脑自动运行。

**意识到电脑和程序能干什么,不能干什么,以及我能用哪些东西自动化的做,不能自动化做。工程师思维:向效率看齐而不是像数量看齐。**只工作两小时干别人两天的事情。当所有学习和所有的努力都是向效率看齐,那你的人生就进入到完全不同的加速过程。(星星眼✨)这是最要赶紧的错误观点。天道酬勤,勤不应该是我干,要么是其他人要是是资源和工具。人生应该是享受人生的,以前没有意识到这一点,当你意识到了,世界就完全不同了。开关一旦开过来了,世界是完全不一样的东西。意识到了之后,怎么更高效。趋向性和目的性和以前的性质是完全不同。”

“无论这门课多美美好,多么高大上,如果你是旁观的话,你就是花钱赞助我们课程,看其他人表演。所以立刻去编程这只是个开始,当你开始之后,发生的一切才和你相关,不是和其他人相关。那么一旦碰到问题 任何不适要立刻提问。这种提问跟怎么用谷歌一样是种技能。提问的智慧说三个小时也说不完。但是你在编程过程中遇到的一切困难是机缘,以往你在其他领域根本碰不到这些坑。这些坑在你其他的领域都搞定过了。这种呢纯理性思维、纯编译器对话这种你很少有过。他碰到的是全新的问题。但是要有自信心,解决这些问题的技能你早都有了,只不过要迁移到编程这件事而已。这次迁移完成了之后,以后到任何领域你都可以的。都是套路,都有套路。毕竟我们从幼儿园熬到了大学毕业。对自己不自信可能是最大的坑,这个坑什么时候跨过去。你什么时候能问出问题,问出好问题,问出能够帮助其他人的问题,那就是完全不一样的气质了。多交互,反正电脑不会爆炸。”

纯理性和人文的交辉

回家的路上,突然反应过来。诶,自己不是在学编程吗?大学里完全看不懂的天书一样的东西。怎么参加完开学典礼,竟然有上了一堂语文课升华价值观的感动呢?想想觉得有趣,这正好回答了我提出的问题“会编程和不会变成的人眼中的世界有什么不同。”习惯的差异导致思维的差异,处理问题也是天差地别。从纯理性的视角上升到价值观的启发,awesome!

不给自己留后路

我本来就是很恐惧社交的人(因为水瓶座?什么鬼)这次本来也给自己无数种理由不来。正巧听到00学姐结课作业的那首《Geronimo》。一个激动就回了issue,约了顺风车。哎呀,这样没办法后悔啦。车都到门口啦,硬着头皮去吧。后来撸串的时候得知大妈第二天就要回到厦门,并不是一直有机会当面春风化雨的。又一次感到庆幸,就像回到家才发现在夏末的最后两天去了草原,完满了这个夏天。这样的开学典礼也给python课开启了很好的前奏。切断所有能逃避的路,只能往前,这种感觉很棒棒,Geronimo!

所以BGM到底是什么呢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.