[Python]同是新手的我,分享一些经验
本来想分享一些知识,但是发现,写着写着,感觉分享一些经验,或许会少让大家走一些弯路,索性就把标题一改。
我不是教给大家些什么,我没有资格,我也是摸着石头过河,我只是本着分享的精神,在这里分享自己的东西。
我是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]同是新手的我,分享一些经验的更多相关文章
- Python+selenium+unittest+HTMLTestReportCN单元测试框架分享
分享一个比较基础的,系统性的知识点.Python+selenium+unittest+HTMLTestReportCN单元测试框架分享 Unittest简介 unittest是Python语言的单元测 ...
- 想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ #精选JAVASCRIPT前端开发
想成为一个高效的Web开发者吗?来看看大牛分享的经验吧~ 作为一个软(ku)件(bi)工(de)程(ma)师(nong),你有没有觉得做什么事都没时间?没时间学习新东西,没时间去回顾.整理原来写的烂代 ...
- 关于python测试webservice接口的视频分享
现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...
- Python入门基础教程(儿童版) [分享一本入门级教程]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1. 推荐书名 No Starch--Python for ...
- python接口测试之新手篇
嗨,大家好,我是小白,好久没写博客了,最近公司搞什么python的接口测试,心里一阵狂喜,在公司上百个接口里拿出一个主要接口一顿乱搞,好在搞通了 但是在这过程中也碰到了好多的问题,决定将问题分享出来能 ...
- Python爬虫教程-新浪微博分布式爬虫分享
爬虫功能: 此项目实现将单机的新浪微博爬虫重构成分布式爬虫. Master机只管任务调度,不管爬数据:Slaver机只管将Request抛给Master机,需要Request的时候再从Master机拿 ...
- 3个月零基础入门Python+数据分析,详细时间表+计划表分享
大家好,我是白云. 今天想给大家分享的是三个月零基础入门数据分析学习计划.有小伙伴可能会说,英语好像有点不太好,要怎么办?所以今天我给大家分享的资源呢就是对国内的小伙伴很友好,还附赠大家一份三个月学 ...
- Python 小白的新手教程(一)
本文是 python 入门级别的基础知识,包括数据类型和变量.输入输出.字符串和编码.list tuple dict set .条件判断.循环.函数.切片 迭代 列表生成器 生成器 迭代器等. 参考课 ...
- Python从零开始(1)新手常问
如何清除屏幕 如果是在Windows命令行中,输入 import os os.system('cls') 在IDEL中没有找到完美的清除屏幕的方法 网上提到用新建窗口的方法 如何退出Python提示符 ...
随机推荐
- LeetCode:Roman to Integer,Integer to Roman
首先简单介绍一下罗马数字,一下摘自维基百科 罗马数字共有7个,即I(1).V(5).X(10).L(50).C(100).D(500)和M(1000).按照下述的规则可以表示任意正整数.需要注意的是罗 ...
- RDD分区2GB限制
本文目的 最近使用spark处理较大的数据时,遇到了分区2G限制的问题(ken).找到了解决方法,并且在网上收集了一些资料,记录在这里,作为备忘. 问题现象 遇到这个问题时,spark日志 ...
- 【ASP.NET MVC 5】第27章 Web API与单页应用程序
注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...
- Python一点注意
1. pickle pickle模块中的两个主要函数是dump()和load().dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文件中.当我们使用load( ...
- linux 文件夹说明,用户添加删除,不熟悉的命令
一.Linux 根目录下的文件夹说明 usr 程序默认安装路径,相当于windows的 program 附显示当前所处位置:pwd 二.用户 用户添加:useradd 用户名 passwd 用户名 u ...
- ECshop 怎样修改商品详细页的“浏览次数”
怎样修改商品详细页的“浏览次数” 最好可以修改为成倍增加的,比如客户浏览了一次,显示的是20次. 修改 goods.php 文件的下面这行代码即可 $db->query('UPDATE ' . ...
- 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 ...
- VS替换空行
visual studio2012 改变了正则表达式的写法 因此原来的不管用了 Old: ^:b*$\n New: ^(?([^\r\n])\s)*\r?$\r?\n Click Ctrl-H (qu ...
- 【Cocos2d-Js基础教学(4)cocostudio在cocos2dx-Js中的使用】
首先我们打开官方网站www.cocos2d-x.org,下载我们安装最新的cocostudio(cocos). 简介: Cocos Studio升级为cocos.更优秀的产品.更优质的服务.游戏开发一 ...
- 日暮·第一章·决斗
日暮 第一章 决斗 泉州府,位于帝国的东南沿海,在数百年前,这里已是帝国最大的通商口岸之一,其一城之繁荣喧哗足以与异邦小国的都城相媲美,无数的人曾经来到这里,追逐财富,梦想,女人以及所有他们认为可 ...