Python学习日记
江林楠学习了一下午后给大家呈现的20分钟速成Python——
一些基本的语法:
1.python无变量声明 直接a = []即可。
2.python为对齐语言,用制表符表示语句块的嵌套。
3.python语句末尾无;
4.python不用{}表示语句块,而是采用:,如
if a == b:
a = c
for a in b:
print(a)
5.a.b的形式的函数调用,可以是对象调用函数(同js),也可以命名空间.函数
6.单行注释使用#a,多行注释使用"""aaaa"""
一些用法:
列表:
cast = ["a",'b',1,["a",2]]
cast.insert(0,"honghehe")
cast.remove('a')
cast.append('ac')
myPop = cast.pop(0);#弹出第0个元素,并返回
if isinstance(cast):#判断是否为列表
print(cast,end = '')
列表访问:cast[0],case[1:3](1,2项)
for a in cast:
print(a)
更多的用法请查阅python的BIF(内置函数)
字符串处理:
a = "abc adj.b"
location = a.find('.')
#结果['abcadj','b']
b = a.strip().split('.')
也可(b,c) = a.strip().split('.')
#恢复为abcadj.b
d = b + '.' + c
循环:
#b为列表,a为列表中每一项
for a in b:
xxx
#相当于0-49,a是迭代器
for a in range(50):
xxx
#一般的while
count = 0
while count < 50:
xxx
count = count + 1
建议使用for循环
函数:
def funcName(para1,para2 = 0,para3 = 1):
print(para1);
有=的参数是可以缺省的
如果只需传入1,3则调用时需要使用
funcName(1,para3 = 4)
命名空间:
import ab
含义是导入ab.py
使用ab中的函数需ab.funcName(paras)
文件和异常
#这个标准库与目录相关
import os
os.getcwd()
os.chdir("")
"""异常处理"""
try:
data = open("honghehe.txt",w)
print("aaa",file = data)
except IOError as err:
print(str(err))
pass
#这句可以不要
finally:
#locals为当前作用域中的变量集合
if 'data' in locals():
data.close()
比较通用的:
#与finally等价,自动判定data in locals()
try
with open("honghehe.txt") as data1, open("hhe.txt") as data2:
print("aaa",file = data)
print("bb",file = data2)
except IOError as err
print(str(err))
读文件:r为默认模式,可不写
data = open("honghehe.txt",'r')
print(data.readline(),end = '')
#可以把文件的data看做一个一行为一个元素的列表
for each_line in data:
xxx
腌制数据:
import pickle
#wb是二进制打开
with open("honghehe.txt",'wb') as fp:
pickle.dump(mydata,fp)
with open("honghehe.txt",'wb') as fp:
mydata = pickle.load(fp)
这样对应的文件读写为python默认格式,有利于将数据输入输出一般化
排序
a.sort()
#a不变
b = sorted(a)
推导列表(映射):将a列表通过func映射为b
b = [func(each) for each in a]
集合:
与数学定义一致,列表中的无重复项
除去b中所有重复的元素,排序不变
c = set(b)
字典:
myDic = {}
#或者
myDic = dict()
myDic['a'] = 'honghehe'
myDic['b'] = 'xixi'
myDic['c'] = ['kakashi','sasuke']
定义时直接:(相当于一个json)
myDic = {'a':'honghehe','b':'xixi','c':['kakashi','sasuke']}
类:
属性:成员变量
方法:成员函数
继承方式,在类名后面用括号打出所继承的类。
class myClass(list):
def _init_(self,m_name = '',m_time = []):
self.name = m_name
#这句话即将myClass的对象扩展为一个列表,可以使用列表的一切功能,也可以用一个已有的列表m_time初始化
self.extend(m_time)
def mySorted():
return sorted(self.m_time)
Python构建:
在.py同目录文件夹下创建setup.py文件
from distutils.core import setup
setup{
name = ''
version =
#需要发布的元数据,即.py文件名
py_modules = ['a','b']
author = 'jln'
author_email =
url =
description =
}
建好后,命令行输入:
python3 setup.py sdist
成功后:
sudo python3 setup.py install
然后只需要import a等语句就可以使用安装好的python包了
发布python包
python3 setup.py register
setup.py sdist upload
具体地安装和上传请见
headfirst 41-48页