时间:2021年7月10日 2:30 – 4:30 
地点:五原路380号(近武康路口) 
大家可以在后台回复 “ 聚会 ” 获取参加快闪群的二维码。快闪群会在7月17日发放下一次聚会二维码之后解散。
本次的主题再次从宏观的PPT切换的代码模式,这周我想分享一下代码,分享一堂《黑客与画家的Python入门课》 。
我有很多各行各业的非常聪明的朋友,但是对于代码总觉得很远,而我觉得 Python 应该是大多数人随手应该掌握的东西,基本上有个10分钟就可以入个门,写点小东西,毕竟Python的关键字也就那20个,常用十个左右,并且Mac电脑缺省的就有环境,然后准备干啥活儿就用什么模块,就跟安装App,用App一样。这个门槛实在是低得不能再低了。
所以我以前开了好多张空头支票,说啥时候我给你们讲讲Python。结果。。。。。。。这不,拖了好多个月以后可以真的开讲了。
从更长远来说,Python 是开始人工智能的探索的第一步,或许以后我可以分享一下《三句 Python 语句的人工智能》。
以下是周六要分享的内容,来自去年成远,明月等朋友约我的一次分享。其中有对于工程师,对于艺术,以及和代码之间的相通性的思考。
7月10日周六,五原路380号见!
无需报名,直接过来就好。不过先打好招呼,座位有限,晚来的大概率需要站着了。建议带着自己的电脑。
《黑客与画家的Python入门课》 如果问我一个场景,我希望这门课的场景不像大学里面的课堂去学习一门技巧,毕竟两个小时不足放进去太多实际的技巧,而更像是到一个酿酒场参观,通过看到一个技术世界的人是怎么思考这个世界的。
但同时这门课也还是希望尽量有用。技术的世界的一大好处就是每个人都在努力让别人的工作变得简单,电脑的世界像一座大厦一样,每个人都在前人的基础上添砖加瓦。所以这次我会反其道而行之,不是从最简单的,而是从很实用,本来应该是很复杂的部分讲起。
还有一个声明,就是我以天然逻辑为优先,可能不会尊重时间的限制。如果需要更多的时间,我会直接延长或者开系列的课,而不会局限在两个小时以内。
将会涵盖的内容如下。需要使用的代码点击“阅读原文”获得。
帮助大家打印出来自己的Hello World。为什么这个词在程序员的世界里面那么 的特殊。这一部分教会大家如何运行一个Python程序。程序和电脑的关系,程序 和程序员的关系,还有程序和这个世界的其他的程序的关系。
print('***** ***** ***** ***** ***** ***** ***** ***** ') print('Hello World') print('*' *  40)  
为什么传说中说“编程问题归根到底是命名问题”。在编程的时候,我们无时无刻 不在给别人起名字。我们这一个部分会讲,在Python里面,如何用名字来装东西 如何把句子装到名字里面。如何把名字装到其他的名字里面。以及名字和名字的 关系。
greetings = 'Hello, World!'  name = '小机器人笨笨'  introduction = '我的名字是'  + name age = '3'  occupation = '机器人'  bye  = '*'  * 20print (greetings)print (introduction)print ('我'  + age + '岁了' )print ('我是做'  + occupation + '工作的' )print (bye ) 
用一个布袋子可以把很多东西装到一个袋子里面。这样子就可以处理文本了。
只有这几个单词(33个。但实际上常用的10个以内)才是语言的一部分。其他的都 是自己或者别人给起的名字。通过认识这十个单词来认识一门语言。
if else for in and or not def import as  
可以说,认识了这十个单词,你就可以说你会Python语言了。之后遇到的所有的 名字,都是别人命名的,可以叫这个,也可以叫其他的名字。
把自己的程序放在一个箱子里面,让自己用起来方便,让别人用起来方便。这里 介绍用 def 来定义函数,来调用函数。
def  greetings (name) :    if  name == 'Jian Shuo' :         print('Long time no see.' , 'How are you ding?' , name)     else :         print(name, 'How are you doing?' ) def  greetsMyself () :    greetings('Jian Shuo' ) greetings('John' ) greetsMyself()  
这里会和大家聊一聊编程界的知识领域。HTML是画网页的,Python是做后端的, 互联网协议是专门的领域,比如SMTP等等。Python仅仅是众多的领域中间的一 部分。看这一部分可其他的部分有什么联系。
pip3 install yagmail
 
这部分我们会讲程序员世界的协作,讲开源运动,讲Python的流行的原因。Python 的世界有自己的App Store。只不过这个App Store是命令行的,是任何一个程序 员可以访问所有其他人的工作,这是世界上最重大的协作之一。
import yagmail username = 'embarazada@qq.com' password = 'hlnixpqgqwwpbchd' server = 'smtp.qq.com' mail = yagmail.SMTP(username, password, server) to = 'jianshuo@icloud.com' subject = 'How are you doing today?' mail.send(to, subject, body) print('Message [' + subject + '] sent to ' + to)  
  import  requests   url = 'https:   response = requests.get (url)   print (response.text)  
手工的任务是如何自动化的
import  requestsfrom  bs4 import  BeautifulSoupresp = requests.get('https://s.weibo.com/realtime?q=%23姜潮妈妈婚前给麦迪娜买房%23&rd=realtime&tw=realtime&Refer=weibo_realtime' ) soup = BeautifulSoup(resp.text, 'html.parser' ) card = soup.find('div' , attrs={'class' : 'card-wrap' }).find('p' , attrs={'class' :'txt' }) latest = card.text.replace(' ' , '' ).replace('\n' , '' ) print(latest) import  yagmailusername = 'embarazada@qq.com'  password = 'hlnixpqgqwwpbchd'  server = 'smtp.qq.com'  mail = yagmail.SMTP(username, password, server) to = 'jianshuo@icloud.com'  subject = 'How are you doing today?'  mail.send(to, subject, body) print('Message ['  + subject + '] sent to '  + to)  
这个是最后一个任务了。我们会从微博的一个评论里面来分析词的频率, 这个其实是对于提供者科技含量很高,对于使用者 科技含量很低的任务,当然大多数的库都是这样的。
import  requestsfrom  bs4 import  BeautifulSoupurl = 'https://mp.weixin.qq.com/s/41fG4qjPTbIPXGDs5IGdug'  url = 'https://github.com/jianshuo/painters'  url = 'https://www.zhihu.com/question/20706333'  url = 'https://mp.weixin.qq.com/s/8fbmZz6uPTHFukgwtt2_xA'  response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser' ) content = soup.find('div' , {'class' : 'rich_media_content' }) import  jiebafrom  collections import  Counterstopwords = ',,。,的,我,了,是,、,在,“,”,一个,飞镖,有,也,卖,元,这个,就,盘, ,说,?,和' .split(',' ) words = jieba.cut(content.text) words = [w for  w in  words if  w not  in  stopwords] cnter = Counter(words) for  word, occur in  cnter.most_common(50 ):    print(word, occur) import  wordcloudwc = wordcloud.WordCloud(font_path='YangRenDongZhengBangTi.ttf' , width=600 , height=400 ).generate_from_frequencies(cnter) wc.to_file('wc.jpg' ) import  osos.system('open wc.jpg' )  
这部分用来回答大家的问题,还有接受更多的问题。已经准备好的问题包括:
如何克服学习一门语言从入门到放弃?
 
如何根据自己的情况选择学习哪种语言?
 
如何分辨和结识大牛?
 
 
电脑。根据调查,绝大多数同学是Mac电脑。这是最好,因为Python和Mac非常兼容,相处得很好。Windows电脑也没问题。我的目标还是让大家在上课的时候就把程序跑起来,下课了就可以自己完成以上的那些复杂的任务了。
 
安装Python。到这里 https://www.python.org/downloads/ 下载并安装Python,有Mac版本和Windows版本。最好安装最新版本3.8.3。对于初学者版本差异不那么大。
 
安装一个好的编辑器。任何可以编辑纯文本 的编辑器都可以。但是Word不行,任何可以编辑出来不同大小的字体,为字体加一个下划线的编辑器都 不 可 以。我推荐使用Atom,下载地址 https://atom.io 有Mac,Windows等各种版本。这个编辑器和Python没关系,但是是很好用的简单的编辑器
 
 
大家看一下这个列表,看看有哪些是自己已经知道的,哪些还不知道。不知道的可以提前熟悉起来
你知道怎么打开你的电脑的命令行吗?
 
 
在Mac电脑上,在Spotlight里面(就是最右上角的那个小放大镜图标点一下),输入“Terminal”(只要输入Ter就应该自动的出来了。接下来执行都是在Terminal里面的。不知道的赶紧去打开,打开了以后不知道干什么试着打一个ls试试
在Windows电脑上,他的名字叫CMD,在运行里面输入就好。CMD里面你可以输入DIR
然后你就进入了黑黑的DOS时代了。如果不会打开命令行,就跟手机不知道屏幕在哪里一样,以后的一切都没法开始了。
你知道如果你编辑了一个文件,怎么可以在命令行找到吗?
 
 
在这一步,我们会用文本编辑器编辑一个文件,你需要在命令行进入这个文件所在的文件夹。找到你写好的Python文件是运行一个Python文件的前提。
如果你对这个不熟悉,可以这样做:你用编辑器(推荐Atom)编辑一个文件,然后把它放在你的桌面上。然后进入你的命令行,输入
cd Desktop注意:大小写很重要,cd 小写, D 大写,用ls列表命令你就看得到刚刚的那个文件了