本来想分享一些知识,但是发现,写着写着,感觉分享一些经验,或许会少让大家走一些弯路,索性就把标题一改。

我不是教给大家些什么,我没有资格,我也是摸着石头过河,我只是本着分享的精神,在这里分享自己的东西。

我是python新手,前段时间刚看完基本语法,跑去看flask官方文档。发现还是有些地方不明白。不知道g 这个东西原理是什么,往里面怎么放东西之类的,不是很清楚。

对于官方文档里面将的本地环境也不理解。但是也是有些收获,不能说完全掌握,但是写个简单的跳转页面,交互的页面也能完成。这里说的东西多了,其实我就是想说:

我走在学习python的道路上,我不是怕难的知识,我是怕没有方向。总而言之一句话,学就是进步,学的多了,也就有方向了。

遇到问题的时候,我就对自己说:你看不懂的地方,那是因为,你之前有的地方没有看懂。那就去查,去学。想学高级武功成为高手,没有之前的积累,就能随随便便的学成,那高手也就不值钱了。

我东学学,西学学发现。发现了一本适合我们刚入门的新手学习的书:

《编写高质量代码——改善python程序的91个建议》

举个类子来说,你学会了出拳,学会了踢腿,但什么时候用那个?没有前辈的指导,亲身的体验,你是不会完全掌握的。而这本书,罗列出来的91个建议,就是前辈的经验之谈。换个说法,这个是攻略。看过《代码大全》的人大概也明白我的意思了。

推荐阅读的顺序(悄悄的告诉你们我才看了三分之一......)

第一章不要先看,因为这是总纲领,靠生记,记不住的,读过有印象即可

第二章,第三章,一个字一个字的读,例子运行一边,每天不要读的太多。多多回味!

我的方法是,把每一建议都写一些笔记,这本书真的是太好了,我总结的都没有书上的好,就算抄我也一个字一个字打出来,我的笔记都放在github上了,下面有地址。

这里我要声明,我几乎没有自己写过什么东西,写的都是一些例子,没有什么自己的东西。

去我的github上看看就知道了。。。https://github.com/521xueweihan/

我的思路是这样的:我做了十几年的学生,如果说擅长什么就是读书,一般套路就是先掌握理论知识再真刀实枪的干,这样不会被虐的太惨。

这只是我的个人之言,仅供参考!!!仅供参考。

本来我的这篇文章打算就贴出来下面这些内容,结果好几天没写文章,憋的话太多,就写的跑偏了。

下面就是我读《编写高质量代码——改善python程序的91个建议》的一篇笔记

(我一般是先看,之后在写笔记,我看到第三章,笔记记到第二章,这么相当与读两边书。)

#coding:utf-8
################
# 17.考虑兼容性,尽可能使用Unicode
###############
"""
前言:Python内建的字符串有两种类型:str和Unicode,因为最早的ASCII编码使用一个字节
只能表示128个字符,但是对于很多语言128个字符数远远不够,这个时候出现了多种编码格式
从而导致不同平台,不同语言之间的文本无法进行很好地转换。
要解决这个问题,必须为不同的文字分配统一的编码,Unicode,也被称为‘万国码’。
"""
#####
# 场景1:读取文件显示乱码 filehandle = open("test.txt", 'r') # 读取测试中文文件‘test.txt’
print filehandle.read()
filehandle.close() #关闭资源 # 因为:文本的编码为UTF-8,但是windows系统中他被映射为GBK编码,所以在运行之后,
# 两种编码并不兼容。
# Unicode 为不同语言设置了唯一的二进制表表示形式(方便于相互转化)
##### # 解决办法:使用decode()和encode()方法,分别是解码和编码 filehandle = open("test.txt", 'r') # 读取测试中文文件‘test.txt’
# 这里decode()方法将其他编码对应的字符串解码成Unicode,
# encode()方法将Unicode编码转换为另一种编码,Unicode作为中间编码
print (filehandle.read().decode("UTF-8")).encode("gbk")
filehandle.close() #关闭资源 #####
# 场景2:输出中文字符,抛出异常SyntaxError print '中文测试' # 因为:Python中默认的编码是ASCII编码,包含中文的字符串。当调用print输出时
# 采用隐式地进行从ASCII到系统默认编码的转换,中文字符并不是ASCII字符,此时
# 源文件又未指定其他编码方式,这时便会抛出SyntaxError异常
#####
# 解决办法:在源文件中进行编码声明,
# 如:#coding=utf-8 print '中文测试' #####
# 场景3:普通字符串和Unicode进行字符串连接时抛出UnicodeDecodeError异常 print '中文测试' + u'Chinese Test' #抛出异常 # 因为:当两种类型的字符串连接的时候,Python将左边的中文字符串转换为
# Unicode再与右边的Unicode字符串连接,这时将‘中文测试’字符串转换为Unicode
# 使用系统默认的ASCII编码对字符串进行解码,但是其中‘中’字对应的值为214,
# 当编码值在0~127的时候Unicode和ASCII是兼容的,但是大于128的时候,ASCII编码
# 不能正确处理这种情况,则抛出异常
#####
# 解决办法:把中文字符解码成gbk编码
print '中文测试'.decode('gbk') + u'Chinese Test' # 笔记
# 对于中文字符,为了做到不同系统之间的兼容,建议使用Unicode方式表示。
# Python2.6之后可以通过import unicode_literals自动将定义的普通字符
# 识别为Unicode字符串,这样字符串的行为将和Python3中保持一致。 # 形式如下: #from __future__ import unicode_literals
s = '中文测试'
print s

不论学的什么,只要坚持每天都学,肯定会学成。不论写多少行代码,每天都写,肯定会有长进。(像我每天只写例子,我还是坚持写)

[Python]同是新手的我,分享一些经验的更多相关文章

  1. Python+selenium+unittest+HTMLTestReportCN单元测试框架分享

    分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测 ...

  2. 想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发

    想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ 作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾.整理原来写的烂代 ...

  3. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...

  4. Python入门基础教程(儿童版) [分享一本入门级教程]

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. 推荐书名 No Starch--Python for ...

  5. python接口测试之新手篇

    嗨,大家好,我是小白,好久没写博客了,最近公司搞什么python的接口测试,心里一阵狂喜,在公司上百个接口里拿出一个主要接口一顿乱搞,好在搞通了 但是在这过程中也碰到了好多的问题,决定将问题分享出来能 ...

  6. Python爬虫教程-新浪微博分布式爬虫分享

    爬虫功能: 此项目实现将单机的新浪微博爬虫重构成分布式爬虫. Master机只管任务调度,不管爬数据:Slaver机只管将Request抛给Master机,需要Request的时候再从Master机拿 ...

  7. 3个月零基础入门Python+数据分析,详细时间表+计划表分享

    ​大家好,我是白云. 今天想给大家分享的是三个月零基础入门数据分析学习计划.有小伙伴可能会说,英语好像有点不太好,要怎么办?所以今天我给大家分享的资源呢就是对国内的小伙伴很友好,还附赠大家一份三个月学 ...

  8. Python 小白的新手教程(一)

    本文是 python 入门级别的基础知识,包括数据类型和变量.输入输出.字符串和编码.list tuple dict set .条件判断.循环.函数.切片 迭代 列表生成器 生成器 迭代器等. 参考课 ...

  9. Python从零开始(1)新手常问

    如何清除屏幕 如果是在Windows命令行中,输入 import os os.system('cls') 在IDEL中没有找到完美的清除屏幕的方法 网上提到用新建窗口的方法 如何退出Python提示符 ...

随机推荐

  1. 记一次Nginx 400错误

      在一个非CDN的域名下有一个页面,需要请求CDN域名下的资源.所以在CDN的那台源站的Nginx上设置了 add_header 'Access-Control-Allow-Headers' 'X- ...

  2. AsyncTask实现多任务多线程断点续传下载

    这篇博客是AsyncTask下载系列的最后一篇文章,前面写了关于断点续传的和多线程下载的博客,这篇是在前两篇的基础上面实现的,有兴趣的可以去看下. 一.AsyncTask实现断点续传 二.AsyncT ...

  3. qq临时会话设置

    qq临时会话怎么设置?QQ正常情况下是不被允许临时会话的,需要加为好友才可以,网上一些教程说代码加QQ号可以直接临时与别人临时会话,其实是不准确的,需要对方开通了临时会话才可以使用该功能.下面来看看怎 ...

  4. 《STL系列》之map原理及实现

    上一篇文章<STL系列>之vector原理及实现,介绍了vector的原理及实现,这篇文章介绍map的原理及实现.STL实现源码下载.STL中map的实现是基于RBTree的,我在实现的时 ...

  5. Javascript 固定表格表头

    遇到一个简单的需求: 客户有一个表格可能有很多内容,当内容很多的时候,表格就会出现滚动条 客户希望当表格内容很多时,只滚动表格而不滚动浏览器窗口 在网上找到很多相关的插件,要不就是太复杂,要不就是满足 ...

  6. Android开发利器 - Charles + Genymotion 调试网络应用程序

    Charles默认是不监听Genymotion模拟器的网络动态的. 需要进行以下设置: 1. 打开你的Genymotion模拟器 2. 设置 -> Wifi -> 长按你的当前的网络连接 ...

  7. Strategy策略设计模式

    1.策略模式和状态模式的区别和联系(本部分转载自:http://letscoding.cn/java%E4%B8%AD%EF%BC%8C%E7%8A%B6%E6%80%81%E6%A8%A1%E5%B ...

  8. js 判断微信浏览器

    上周接到个需求,需求是这样的:用户扫一扫二维码会产生一个链接,该链接会向后端发送个请求,返回一个 apk 的下载地址,用户点击下载按钮可以下载此 apk.然后就发生了问题,经过测试,发现用微信扫一扫打 ...

  9. 使用Xcode6.1.1打包出现Your account already has a valid iOS Distribution certificate问题

    1.问题描述: 使用客户证书在Xcode6.1.1上进行打包测试,出现如下问题,查看网上也很多类似错误且解决办法各异. 2.我的解决办法: 让客户将开发.发布证书重新revoke掉之后重新创新并给到p ...

  10. Linux设备驱动剖析之Input(四)

    static void input_pass_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) ...