Python 学习笔记

最近在自己玩tensorflow和写爬虫的时候经常被推荐python,本来是对这门语言特别无感的,但是发现这东西实用性还是挺强的,突然感兴趣起来。回国正好有一些时间,乘机买了2本书系统的学习下。本门就是学习过程中记录下一些常用方法和一些特点,以备之后使用时查询。

  1. 原始字符串:print(r”c:\news”),将不会\n转译成空行
  2. 字符串切片和索引:
    • str.index(“x”),返回位置
    • str[2:9],返回2-9的切片字符串,还可以str[:9]或者str[2:],切忌切片不包含最后一个数字,也就是这里不包括9
  3. in可以判断是否在str中,如 “p” in str, 返回true or false
  4. 格式化输出,str.format(),这里东西比较负责,建议使用的时候查下文档
  5. 常用字符串方法:
    • str.isalpha()
    • str.split(),分割by
    • str.strip(),去除左右的空格
    • join(),链接字符串,如”.”.join(array)
  6. 常用array的方法:
    • array.extend(array2)
    • array.append(array2),此为原始修改,也就是并非增加array2,而是将他作为整体插入
    • array.insert(i,x),在i的位置插入
    • array.remove(x),删除无返回
    • array.pop(),删除最后一个,然后返回,或者array.pop([i]),删除第i个,并返回
  7. 元组(tuple),字典和集合的方法比较杂碎,需要在实际应用的时候复习下
  8. 概念分清楚,string, list, dict, tuple, set
  9. 布尔判断:
    •  空的返回false,空格(string)返回 true
      a = " "
      bool(a)
      // true
      
      a = ""
      bool(a)
      bool([])
      bool({})
      // false
  10. 三元操作符:: A = Y if X else Z  // X成立 A=Y 不然A=Z
  11.  for i in range(len(names)): print(names[i]) // 相当于 range(x),比如name长度是5,等于 i in [0,1,2,3,4]
  12. print() 默认是end =’/n’,可以使用print(x, end=’xxx’)来代替
  13. for loop:
    • 字典:for k,v in d.items(): print(k + v)
    • 数字不可迭代
    • 判断是否能迭代:isinstance(x, collections.Iterable)
  14. range:range(start, stop, step),start默认为0,stop必须写(所以range(9)就是0-9),而step默认是1不能为0
  15. zip():可以柔和两个array(长度以以短的为准),反向zip(*x)
  16. enumerate():for i, string in enumerate(x),输出index和数据
    week = ['monday', 'tuesday']
    for (i, day) in enumerate(week):
        print(day + ' is ' + week(i)
    
    // monday is 0
    // tuesday is 1
  17. 行内赋值: s = [x**2 for x in range(1,10)] // 输出[1,4,9,16,25,36,49,64,81]
  18. 打开文件open()几个常用的模式:
    1. w:可写,如果文件存在,则覆盖
    2. a:可写,从文件末尾开始写,不存在则创建
  19. with open(),可以不关闭,兼具了try final功能
  20. 函数
    1. def foo(x,*arg) , *arg会收到一个空的元组
    2. def foo(**arg), **arg会得到字典类型数据
    3. lambda – g= lambda x,y : x+y // g(3,4) == 7
    4. map(func, seq) – 将seq的元素按顺序放到func里面
    5. filter() – filter(lambda x: x>0, numbers)
  21. 继承 class Person(FatherClass):
  22. 装饰器@classmethod/@staticmethod/@property……
  23. 继承中super的用途
  24. 双下滑的变量为私有变量,不被外部访问

 

 

喜欢的话订阅一个呗~第一时间收到文章更新哟~

发表评论

电子邮件地址不会被公开。