目录
注释和引号使用、编码
数据类型和变量
lambda、zip、map、reduce、enumerate函数
_xx、__xxx、__xxx__的区别
类、函数定义、异常处理
IO编程
注释和引号使用、编码
# encoding=utf-8 或者 # -*- utf-8 -*-
单行注释:#
多行注释:''' '''或者""" """
字符串:单引号:'' 双引号:" " 三引号:''' ''' 或""" """,三引号支持换行
转义:r'',r不转义字符串
数据类型和变量
整数(int)、浮点数(float)、复数(complex)、字符串(str)、布尔值和空值
test_int = 1
test_float = 1.0
test_str = "abc"
test_complex = complex(1,2)
test_bool_1 = True
test_bool_2 = False
test_none = None
元组(tuple)、列表(list)、字典(dict)、集合(set)
#元组不可变
test_tupble = (1,2,3)
test_list = [1,2,3]
test_dict = {"a":1,"b":2}
#空集合必须使用 test_set = set(),test_set = {}会解析成空字典
test_set = {"a","b","c"}
相关函数说明
'''
数组排序:sorted
长度可以使用:len()
字符串格式化:"{},{}".format("a","b")
插入元素:有顺序的(list):append
无顺序概念的(set):add
类自带的函数(__xxx__格式,一般都是函数,所以调用的时候一般是__xxx__()):__len__()
'''
test_tuple = (1,2,3)
print(len(test_tuple))
print(test_tuple.__len__())
lambda、zip、map、reduce、enumerate函数
from functools import reduce
test_list_1 = ['a','b','c']
test_list_2 = [1,2,3]
# zip
for index,value in zip(test_list_2,test_list_1):
print(index,value)
# enumerate
for index,value in enumerate(test_list_1):
print(index,value)
#reduce
test_reduce = reduce(lambda x,y:x+y,test_list_2)
print(test_reduce)
#lambda map
test_map = map(lambda x:x*2,test_list_2)
_xx、__xxx、__xxx__的区别
class TestClass():
'''
_xx:Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。
__xx:它并不是用来标识一个方法或属性是私有的,真正作用是用来避免子类覆盖其内容。编译时会变成 _A__method()
__XX__:用于python调用,不要使用
'''
def __init__(self):
self._test_a = 1
def __method(self):
print("This method from A!")
def method(self):
self.__method()
类、函数定义、异常处理
class TestClass():
def __init__(self):
self.test_x = 1
def test_exception(self):
try:
print("aaa")
raise ValueError("value error")
except ValueError as e:
print(e)
finally:
print("try except finally example!")
test_class = TestClass()
test_class.test_exception()
IO编程
文件读写
file_name = "test.txt"
try:
f = open(file_name,"w+",encoding="utf-8")
for line in f.readlines():
print(line)
test_write = "测试写入数据"
f.write(test_write)
f.close()
except Exception as e:
print("exception:",e)
finally:
if f:
f.close()
try:
with open(file_name,"w+",encoding='utf-8') as f:
for line in f.readlines():
print(line)
except Exception as e:
print("exception:",e)
序列化:joblib和pickle
#joblib sklearn自带的,更加高效,joblib没有序列成字符串的功能
import joblib
import pickle
file_path = "xxxxx"
joblib.load(file_path)
joblib.dump(file_path)
#pickle
f = open("file_path",'rb')
d = pickle.load(f)
f.close()
#存储到文件中
f = open("file_path","wb")
pickle.dump(d,f)
f.close()
#dumps序列化成字符串
d= dict(name="bob",age=20)
d_b = pickle.dumps(d)
#
d = pickle.loads(d_b)
os和sys模块
import os
import sys
# os指跟操作系统相关的,实际存在的,比如文件路径、目录
# sys指系统相关的,比如python的运行路径,库的路径
os.path.abspath(".")
sys.path.append("..")
sys.path
常用的内建模块
|