学python的一些体会

零基础学python也快有两个月了,总得记下点什么

目前接触过的,自己有的学习资料介绍:

  • learnpython3thehardway 英文版

    • 笨方法学python3,对零基础挺友好,只是全英文,看得累。网上好像也没有中文版电子书,可以参照python2的笨方法学习
  • MOOC的北大陈斌老师的python基础课

    • 强烈推荐,由浅入深,还有很多习题,测验,还有QQ群,直播答疑
  • MOOC嵩天老师的基础课

    • 强烈推荐,也有很多习题,讲解都尽可能的详细,ppt做得很好,跟陈斌老师的课同时看最好
  • MOOC北交大的python基础课

    • 4个老师讲课,讲的不是很详细,0基础看上面两个就OK了
  • python从小白到大牛

    • 关老师的书,书挺不错,0基础适合,送视频,视频其实就是读书。。也有Q群答疑,如果能把MOOC陈斌老师的课上好,这本书的前15章除了正则表达式那一章,都可以不用看了
  • python3网络爬虫开发实战

    • 数据方向的,很有用的一本书
  • MOOC 嵩天的爬虫,先入门,然后开始学南京大学张老师的用python玩转数据,很好的课程

目前难点:面向对象,类的特殊方法,基础课讲到这里就基本结束了,郁闷

学习中印象深刻的地方做做笔记:

a += 1         # a = a + 1
a ,b = b,a     # 先计算后赋值
print(f'{a}')  # 输入变量感觉这样最方便
for i in ...   # 感觉做什么都离不开循环
if a == 0:     # 只要判断就要双等号,其它情况一个等号
return         # 函数里一到return就结束
yield          # 再调用函数时,从yield的下一句开始
a.sort()       # 将a 排序
sorted(a)      # 生成一个a排序后的列表

import 库
from 库 import *:要import的库里有方法,方法里还有方法,就用这个。。少打一层
例如你要用到datetime里的datetime里的strptime函数:

# 直接import
import datetime
t = datetime.datetime.strptime(t,'%Y/%m/%d')

# 用from import,可以少打一层
from datetime import *
t = datetime.strptime(t,'%Y/%m/%d')

安装Pillow库后,使用Pillow里面的方法必须如下

from PIL import Image

你只 import PIL的话,没办法使用Image方法,一开始还以为哪里有问题


Update:

2019/2/19:
  • 非常有用的排序技巧:对列表里的元组或列表或字典排序,用 lambda
>>> a = [('c', 3, 8), ('a', 6, 5), ('e',4, 1),('g',2,5)]
>>> b = sorted(a,key=lambda x:x[2])			# 根据元组里索引2的元素大小进行排序
>>> b
[('e', 4, 1), ('a', 6, 5), ('g', 2, 5), ('c', 3, 8)]
>>> b = sorted(a,key=lambda x:(x[2],x[1])) # 先根据元组里索引2的元素大小进行排序,再根据索引1的大小排序 
>>> b
[('e', 4, 1), ('g', 2, 5), ('a', 6, 5), ('c', 3, 8)]
>>> b = sorted(a,key=lambda x:x[1]+x[2])
>>> b										 # 根据索引1和2的和进行排序 
[('e', 4, 1), ('g', 2, 5), ('c', 3, 8), ('a', 6, 5)]
2019/2/18:
  • 查找访问字典比列表快很多
  • 进行循环时,尽量把变量都先算好了,如
a = len(list)
for i in range(a):for i in range(len(list)) 要快
  • 进行条件判断时,多利用短路逻辑—— if a and b ,只要a为false,b就不用计算
  • 字符串连接尽量用join
  • 尽量使用推导式
2019/2/16:
  • 做练习时,总要用input, 输入一些例子,以测试程序能不能通过。每按一次run就要输入一次,是不是太笨了??我想应该有自动输入的功能吧,pycharm真有这个功能。
    先创建一个文本文件,在里面写上你需要input的例子
    在 Run ==> Edit Configurations ==> Execution 下面的 Redirect iniput from 打勾,并选择你创建的文本文件,以后一run,就会自动输入input的内容了
    唉,几个月来都是一个个输的我笨死了。。。
2019/2/11:
  • 用zip可以对矩阵相加减
m = [(1,2,3),(4,5,6),(7,8,9)]
n = [(3,2,1),(6,5,4),(9,8,7)]
print([x+y for a,b in zip(m,n) for x,y in zip(a,b)])
2019/2/2:
  • 如果能把MOOC陈斌老师的课上好,这本书的前15章除了正则表达式那一章,都可以不用看了
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值