Python

abstract Class

create abstract class in python

from abc import ABC, abstractmethod

class AbstractOperation(ABC):
 
    def __init__(self, operand_a, operand_b):
        self.operand_a = operand_a
        self.operand_b = operand_b
        super(AbstractOperation, self).__init__()
    
    @abstractmethod
    def execute(self):
        pass

underlines in python

http://igorsobreira.com/2010/09/16/difference-between-one-underline-and-two-underlines-in-python.html
xx: don’t call it, it’s a python call

# turn object into str
def __str__(self):
https://realpython.com/lessons/how-and-when-use-__str__/

generators and iterators

https://stackoverflow.com/questions/1756096/understanding-generators-in-python
create things on the fly, do not need a list to contain the generated things, it means that it is more memory efficient
yield is using generators

global vs nonlocal

python doc

# self.variable vs variable
class A:
	a = 10 # global variable, shared by all A objects
	def __init__(self):
		self.a = 10 # unique to object
# Nonlocal vs global
a = 10 # global
def fun():
	a = 20
	def helper():
		nonlocal a
		a = 30

read and write files

import re

output_file = open("intents.txt", 'w')
output = []
with open("input.txt") as f:
	for line in f.readlines():
		line = re.sub(' +', ' ', line) # remove extra spaces
		word = line.split(' ', 1)[0] # extract first word
		word = word[0].lower() + word[1:] 
		prompts = line.split(' ', 1)[1].rstrip('\n') # remove first word and remove next line
		new_line = 'var ' + word + ' = ' + '"' + prompts + '"' + ';' + '\n'
		output_file.write(new_line) 

re

https://www.w3schools.com/python/python_regex.asp

  • matcher“”里面不可以随意加空格,会被当成match的一部分的
  • ±*/作为特殊连字符,如果在matcher里面,需要加\
  • "[+-]\d+“和”[+-]|\d+“和”[+-\d+]"不一样,一个match的是+d和-d,一个match的是+或者-或者d+, 一个是match的+,-,d

map, filter and reduce

filter, return a generator
https://docs.python.org/3/library/functions.html#filter

filter(function, iterable)
list(filter(lambda x: x < 0, number_list))

uses

# check if it is a letter
a.isalpha()

# max, mins integer
MAX = float('inf')

callback

function as parameter. call function in another function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值