python 基础杂记&好用技巧

好用的

zip:(顺带df.iterrows())

 for x,y in zip(self.df_train.iterrows(), self.df_test.iterrows()):#取出每一行的row。个人习惯 ij是index,xy是val
             corpus.append(str(x[1]['title'])+';'+str(x[1]['content']))#0是index,1是row
             corpus.append(str(y[1]['title'])+';'+str(y[1]['content']))

 enumerate()多个index

 

注释上的问题

  • python2.x 需要加上#coding=utf-8

运算符

  • 除法"/"是得到的是浮点型,如果得到的结果是整数x,也会有x.0;而它的"//"才是C里的"/",不过3.5//2==1.0
  • **是^
  • 支持连续比较,试了一下 4>0<2等价于4>0 and 0<2,so true

语法结构

  • pass占位符,有时用在if后没想好写啥,但是为了防止后面继续写的时候,前面if后面没东西而报错
  • 类似c语言的格式化方法:print("我今年%d岁"%age)

字符串与列表

  • 结果:
  • 结果:[1, 2, 1, 3];结果:你1我2他3你1我2他3 [1, 3, 1, 3]
  • 结果:True
  • 结果:
  • str.find("xxx")返回第一个序号
  • .lower()和upper()可以直接将str变换大小写
  • str.replace(a,b)把str里的a都换成b,不过这并非inplace操作
  • str.strip()删除首尾的指定字符,不写就是空格和tab

循环

  • 可以这么写结果:
  • 倒序
  • 对字典的遍历中,eg:如for x in dic的x是每个key;
  • 得到tuple
  • 练习:乘法口诀
  • for i ,j in zip(L1, L2) 就是让i遍历L1,j遍历L2
  • enumerate()函数:除了遍历本身,还多一个index,很好用

函数

  • 参数组传参
  • 打包return

递归

  • python里不能修改全局变量,

文件操作

  • readxx后前面的东西被清空
  • OS模块

Object Oriented

  • class stu():
        sid=0#类的属性,下面是实例的属性
        def __init__(self, name='xxx', sex='boy'): #构造函数,在这里声明当前实例的属性
            self.__name = name #加两个下划线就是类内私有属性,外部不能获取
            self.sex=sex #self表示当前类本身,相当于是类里的全局变量
        def set_name(self, name):
            self.__name = name
        def get_name(self):
            return self.__name
    
    s=stu('你',"girl")
    print(s.get_name(), s.sex)
    s.set_name('我')
    print(s.get_name(), s.sex)
    
    stu.sid#不报错
    s.__name #会报错
  • 继承:结果:。要学习的是super这里就是直接调用父类的构造函数,从而不需要在子类再init,注意几处的写法。

about 下划线 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值