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

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

我是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. LeetCode:Roman to Integer,Integer to Roman

    首先简单介绍一下罗马数字,一下摘自维基百科 罗马数字共有7个,即I(1).V(5).X(10).L(50).C(100).D(500)和M(1000).按照下述的规则可以表示任意正整数.需要注意的是罗 ...

  2. RDD分区2GB限制

    本文目的   最近使用spark处理较大的数据时,遇到了分区2G限制的问题(ken).找到了解决方法,并且在网上收集了一些资料,记录在这里,作为备忘.   问题现象   遇到这个问题时,spark日志 ...

  3. 【ASP.NET MVC 5】第27章 Web API与单页应用程序

    注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...

  4. Python一点注意

    1. pickle pickle模块中的两个主要函数是dump()和load().dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文件中.当我们使用load( ...

  5. linux 文件夹说明,用户添加删除,不熟悉的命令

    一.Linux 根目录下的文件夹说明 usr 程序默认安装路径,相当于windows的 program 附显示当前所处位置:pwd 二.用户 用户添加:useradd 用户名 passwd 用户名 u ...

  6. ECshop 怎样修改商品详细页的“浏览次数”

    怎样修改商品详细页的“浏览次数” 最好可以修改为成倍增加的,比如客户浏览了一次,显示的是20次. 修改 goods.php  文件的下面这行代码即可 $db->query('UPDATE ' . ...

  7. ASP.NET 4.0 forms authentication issues with IE11

    As I mentioned earlier, solutions that rely on User-Agent sniffing may break, when a new browser or ...

  8. VS替换空行

    visual studio2012 改变了正则表达式的写法 因此原来的不管用了 Old: ^:b*$\n New: ^(?([^\r\n])\s)*\r?$\r?\n Click Ctrl-H (qu ...

  9. 【Cocos2d-Js基础教学(4)cocostudio在cocos2dx-Js中的使用】

    首先我们打开官方网站www.cocos2d-x.org,下载我们安装最新的cocostudio(cocos). 简介: Cocos Studio升级为cocos.更优秀的产品.更优质的服务.游戏开发一 ...

  10. 日暮·第一章·决斗

    日暮 第一章 决斗   泉州府,位于帝国的东南沿海,在数百年前,这里已是帝国最大的通商口岸之一,其一城之繁荣喧哗足以与异邦小国的都城相媲美,无数的人曾经来到这里,追逐财富,梦想,女人以及所有他们认为可 ...