Python语言程序设计笔记


前言

记录Python基本语法,使用时方便查找。

一、基本语法

  1. 单行注释# 多行注释‘‘‘ ’’’
  2. 缩进:空格一致,不要求4个
  3. \使代码换行,增强可读性
  4. eval()去掉最外层引号并执行
    ord()将字符转为ASCII码
    chr()将ASCII码转为字符
  5. 撤销:Ctrl+Z 反撤销Ctrl+Shift+Z 结束运行Ctrl+C
  6. 变量命名:大小写、数字、下划线、汉字,首字母不能为数字
  7. 基本语句:

(1)赋值

 Str=82F

(2)条件

if 条件1<语句1>
elif 条件2<语句2>
else 条件3<语句3>

紧凑形式

<语句一> if 条件 else <语句二>

(3)循环
range(2,5)——> 2,3,4

for <变量> in range<参数>:
	<语句一>
else<语句二> (没有break退出时执行)
while  <条件><语句>

break结束并跳出当前循环

continue结束当前循环不跳出

(3)输入

 Str=input(“请输入”)
 h,w=evalinput(“逗号隔开”))#多输入 

(4)输出

print(输出内容)
print(,end=""#输出不换行
print"{<序号>:<格式控制>}".format<内容>))#格式化 

槽

二、数字类型

  1. 数据类型:整数101,字符串“101”,列表【1,0,1】
  2. 二进制:0b或0B开头。八进制:0o或0O开头。十六进制:0x或0X开头。
  3. pow(x,y)或xy x^y
    pow(x,y,z) (x
    y)%z
    abs(x) 绝对值
    div(x,y) 商余 div(10,3)=(3,1)
    round(x,d) 对x四舍五入,截取d位小数,d省略时取整
    max() min()
    int() float() complex()
    x//y 整除 x%y 取余
    xEy=xey=x10^y
    and与 or或 not非
    二元运算:+=、-=、
    =、/=、//=、%=、**=
    <= <= 可以连用

三、其他数据类型

字符串

字符串:由“”或‘’表示单行,‘‘‘ ’’’表示多行,单双引号交替使用,同时显示时用三引号。
索引

索引: 【M缺失至头:N缺失至尾:K步进】
【:3】 : “0,1,2” 。 【1:】 : “1,2,3,4” 。 【0:3:2】 : “0,2” 。 【::-1】: “4,3,2,1,0”。
转义: “\b”回退 。 “\n”换行 。 “\r”回车(移动到行首,刷新)。
运算: + 字符串连接 。 *n复制n次 。 in判断存在。
函数: len(x)长度 。 str(x)改为字符串。
方法: lower()小写 。 upper()大写 。 split(“,”)用,将字符串分成列表 。 strip("/n")跳过。
count(sub)出现次数 。 replace(old,new)替换 。 join(iter)在iter后加str 。

集合

多个元素的无序组合,唯一,不可变。
建立: { ,}或set()。 空集必须使用set() (set建立或转化为集合)。
A={“Python”,123,(“Python”,123)}
B=set(“pypy123”) ——》{“1”,“2”,“3”,“p”,“y”}
操作符: S|T,S-T,S&T,S^T , > = < , S|=T
方法: add(x)添加 。 discard(x)移除,不报错。
remove(x)移除,报错 。 clear()清空。
pop(x)取出,报错 。 copy()复制。
len()长度。

元组

不可更改,有序排列
建立: 使用()或tuple()创建,逗号分隔,可以不使用括号。
操作符: in 。 not in 。 + 。 *n 。 【i:j:k】。
函数: len()。 min()。 max()。
方法: index(x,i,j)返回从i到j中第一次出现x的位置。
count(x)返回x总个数。

列表

可以更改,有序排列。
建立: 使用【】或list()创建。
操作符: ls【i:j:k】=lt 替换 。del ls【i:j:k】删除 ls+=lt 。ls*=n。
方法: append(x)增加 。 clear()清空 。 copy()复制 。 insert(i,x)插入。
pop(i)取出 。 remove()移除第一个x (无返回值) 。 reverse()反转。
sort(key=None,reverse=False) True降序 False升序。

字典

映射,键值对无序,值不能直接修改。
建立: { }或dict(),用冒号表示。
A={<键1>:<值1>,<键2>:<值2>,<键3>:<值3>}
<值>=A【<键>】 A【<键>】=<值>
操作符: del A【k】
函数: type(A)返回数据类型——><class ‘dict’>
方法: keys()返回所有键 。 values()返回所有值 。 items()返回所有键值对。
get(k,) 。 pop(k,) 。 popitem()随机取出。
clear()清空 。 len(A)。

四、函数

1、函数定义

def <函数名><参数>:
	<函数体>
	return <返回值>

有多个返回值时,返回元组

2、可用global定义全局变量

3、lambda函数用于定义简单的一行函数,返回函数名作为结果

<函数名>=lambda <参数>:<表达式>

F=lambda x,y: x+y

4、函数递归:只关心基例和链条,不关心实现过程

def fact(n):
	if n==0:
		return 1
	else:
		return n*fact(n-1

5、无限制数量函数

def A(a,*b):
	m = a
	for i in b:
		<处理>

五、类

1、类定义

class <类名>(继承类,没有时为object):
	def __init__(self,<属性>):
		self.<属性>=<属性>
	def <方法>(self,<参数>):
		<语句>

2、创建对象

<变量>=<类名>(属性)

六、异常

1、异常处理

try:
        <语句一>
except <异常类型>:
        <语句二>
else:
        <语句三>(无异常执行)
finally:
        <语句四>(一定执行)

2、常用

try:
        <语句>
except Exception as e:
        print(e)

3、错误
TypeError:类型错误
AttributeError:属性错误
NameError:变量名不存在
SyntaxError:语法错误
KeyError:字典错误
IndexError:索引错误
IndentationError:缩进错误
TabError:Tab和空格混用

七、库

1、库引用

1import <库名>
<库名>. <函数名><参数>)
(2from <库名>  import  <函数名>from <库名>  import  *
<函数名><参数>)
(3import <库名> as <别名>
<别名>. <函数名><参数>

2、第三方库安装

(1)在cmd中 pip install <库名>
pip install-U<库名> 更新 pip uninstall <库名> 卸载 pip list 列出
(2)集成安装Anaconda 数据分析展示 https://www.continum.io
(3)文件安装 http://www.lfd.uci.edu/~gohlke/pythonlibs/
pip install <库名>

3、jieba库

精确模式: lcut(s)返回列表,无冗余
全模式: lcut(s,cut_all=True)切分所有词,有冗余
搜索引擎模式: lcut_for_search(s)对长词再次切分,有冗余
添加新词: add_word(w)

4、os库

(1)路径操作os.path
abspath(path)绝对路径 normpath(path)归一化//形式
relpath(path)相对路径 dirname(path)目录名称
basename(path)文件名称 join(path,*path)路径字符串
exists(path)判断目录存在 isfile(path)判断文件存在
isdir判断路径存在 getsize(path)返回文件大小
(2)进程管理os.system
os.system(“C:\Windows\System32\calc.exe”) 调用计算器
os.system(“C:\Windows\System32\mspaint.exe
D:\PYECourse\grwordcloud.png”) 调用画图打开文件
(3)环境参数
os.chdir(path)修改程序操作路径 os.getcwd()返回程序当前路径
os.getlogin()获得用户名 os.urandom()获得CPU数量

5、pyinstaller库

(在cmd中运行)
生成目录:_pycache、bulid(可删除)、dist(exe文件)、.py
-D生成dist文件(默认)
-F生成独立打包文件(建议)
-i<图标文件名.ico> 使用图标
pyinstaller-i curve.ico -F KochDrawV2.py

6、random库

seed(n)产生种子n对应的序列,默认为当前时间,给出种子每次复现
random()生成【0.0,1.0)之间的小数
randint(a,b)生成【a,b】之间的整数
randrange(m,n,k)生成【m,n)间步长为k的随机整数
uniform(a,b)生成(a,b)间随机小数
choice(seq)从序列seq中随机取一个
shuffle(seq)将序列seq随机排列

7、time库

(1)时间获取
time() 内部时间,以s为单位
ctime() 当前时间字符串‘Fri Jan 26 12:11:16 2018’
gmtime() 当前时间,计算机可处理
(2)时间格式化
strftime(‘%y-%m-%d %h-%m-%s’,t) 时间转字符串
strptime(t,‘%y-%m-%d %h-%m-%s’)字符串转时间
(3)计时
perf_counter() 测量(计算差值)
sleep(t) 休眠

8、turtle库

(1)初始化函数
设置窗体大小位置setup(width,height,startx,starty)非必须,后两个参数可选,默认正中心
在这里插入图片描述
(2)画笔控制函数
抬起画笔penup() 落下画笔pendown() 隐藏画笔hideturtle()
画笔宽度pensize(width)
画笔颜色pencolor(color)
字符串或RGB值
‘white’ 255,255,255 1,1,1
‘yellow’ 255,255,0 1,1,0
‘red’ 255,0,255 1,0,1
‘green’ 0,255,255 0,1,1
‘blue’ 0,0,255 0,0,1
‘black’ 0,0,0 0,0,0
(3)运动控制函数
到达点goto(x,y)
前进fd(d) 后退bk(d)
左侧画圆circle(r,angle)
write汉字
(4)方向控制函数
绝对角度seth(angle)
在这里插入图片描述
相对角度:左转left(angle) 右转right(angle)
在这里插入图片描述

9、wordcloud库

(1)配置参数:w=wordcloud.WordCloud()
width=600 height=400 min_font_size=10
min_font_size=10 font_step
stopwords={ } max_words background_color font_path=“msyh.ttc”
(2)加载文本
w.generate(txt)
(3)输出图片
w.to_file(filename)
(4)词云形状
from scipy.misc import imread
mk=imread(filename)
w=wordcloud.WordCloud(mask=mk)

八、文件

1、文件打开
<变量句柄>=open(<路径+文件名>,<打开模式>)
(1)路径 “D:/PYE/f.txt”或“D:\PYE\f.txt”
“./PYE/f.txt”或“f.txt” 相同目录
(2)打开模式 “r”只读(默认),不存在报错 “w”创建写,不存在创建,存在覆盖
“x” 创建写,不存在创建,存在报错 “a”追加写
“b”二进制 “t”文本(默认)
+与r/w/x/a同时使用,增加同时读写功能
2、文件读取
f.read(size=-1)读入前size长度,默认全部读取
f.readline(size=-1)读入前size行,默认全部读取
f.readlines(size=-1)读入前size行,以每行为元素形成列表,默认全部读取
3、全文本操作
(1)一次读入,统一处理

Txt=fo.read()
<处理>

(2)数量读入,逐步处理

while Txt!=“ ”:
	Txt=fo.read(2<处理>

(3)一次读入,分行处理

for line in fo.readlines():
        <处理>

(4)分行读入,逐行处理

for line in fo():
        line=line.strip(s)
        <处理>

4、文件写入
f.write(s) 写入字符串
f.writelines(s) 写入列表,拼接
f.seek(offset) 改变指针位置,0开头,1当前,2结尾
5、文件关闭
f.close()
6、一维数据处理
(1)读

f= open(fname)
txt=f.read()
ls=txt.split(“,”)
f.close()

(2)写

ls=【……】
f=open(fname,‘w’)
f.write(‘,’.join(ls))
f.close()

7、二维数据表示
(1)二维列表
【【 , 】,【 , 】】两层for循环遍历,先行后列
(2)CSV
以逗号分隔,回车分行,无空行的数据
Excel和一般编辑软件可用
<1>读

f=open(fname)
ls=【】
for line in f:
        line=line.replace(“\n”,“ ”)
        ls.append(line.split(“,”))
f.close()

<2>写

ls=【【】,【】,【】】
f=open(fname,‘w’)
for item in ls:
        f.write(‘,’.join(item)+\n)
f.close

<3>处理数据

ls=【【】,【】,【】】
for row in ls:
	for column in row:
                 <操作>

总结

  • 用于学习内容不够全面
  • 主要用于查找
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值