设计程序
- 需求分析
- 程序设计
- 代码编写
- 测试与调试
- 实施与开发
- 维护优化
实例1(猜数字)
X=100
y=int(input("请输入数字:"))
if x==y:
print('猜对了!')
elif y<x:
print('太小了!')
else:
print('太大了!')
命名法则
- 避开Python自身关键词:‘False’,‘None’,‘True’,‘and’,‘as’,‘assert’,‘break’,‘class’,‘continue’,‘def’,‘del’,‘elif’,‘slse’,‘etc.’
- 下划线命名法:lower_to_upper
- 驼峰命名:mypython
行与缩进
- Python最具特色的就是使用缩进代表代码块Block
- 缩进就是空格,每个代码块的缩进空格数必须相同,否则代码会报错
实例2
a=10
b=20
if a<b:
print(a)
数字
Python中数字分为:
- 整数 : int
- 浮点数 : float
- 复数 : complex
列表
- 一种有限的有序值得集合,用方括号【】表示
- 列表中的元素可以使相同类型,也可以是不同类型的数据
- 括号里的每个元素都被分配一个索引值,使用该值可以准确查找到列表中的元素,索引值从0开始
- 删除列表中的值用del(),添加列表中的值使用append()
元组
- 特殊形式的列表,用圆括号()表示
- 元组中的数据是不可修改的
- 不同的元组可以进行拼接,但是不允许删除增加元组内的元素
集合
- 一个无序的不重复元素序列 ,用花括号{}来表示
- 添加元素 :add()
- 去除元素 :remove()
- 计算元素个数 :len()
- 判断元素是否在集合中 :x in s
实例3
y = {1, 3, 4, 5, 'python'}
if 'python' in y:
print('good')
字典
- 字典是一个无序,可变和有索引的集合,用花括号{}编写
- 一个键key和一个值value共同构成了一个字典中的一个元素
- 键是唯一且不可变得
- 访问字典元素
- 修改字典元素
- 删除字典元素
实例4
m = {'英语': 100, '数学': 150, '专业': 150}print(m['英语'])
print(m['英语'])
布尔值
- 布尔值是Python中一种特殊的逻辑数据类型
- True和False
- 常在逻辑运算,循环语句,条件盘肚腩语句使用
函数
常用函数
- print()
- type()
- float( int x ) 将整形x转化为浮点形
构建与调用
自定义函数步骤
- 函数代码块以def开头,后接函数标识符名称和圆括号()。圆括号后接冒号,然后下一行缩进开始写函数主题。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数运行结束后考虑是否需要返回至爱。renturn[表达式]结束函数,选择性地返回一个值给调用方,不带表达式的return相当于返回None。
实例5
def max1(a, b):
if a > b:
return a
else:
return b
c = max1(10, 20)
print(c)
第三方模块
Pandas模块
- Pandas模块用于数据导入及数据处理
- Pandas模块可以用于文件处理
- Pandas模块可以对数据进行结构化处理
- pandas.Series()可以将列表转化为数组
实例6
import pandas as pd
arr = [100, 300, 400, 500]
s = pd.Series(arr)
print(s)
- pandas.DataFrame()可以将集合转化为二维数组
实例7
import pandas as pd
data = {'animal': ['cat', 'dog', 'snake'], 'age': [10, 20, 30], 'numbers': [50, 60, 70]}
df = pd.DataFrame(data)
print(df)
NumPy模块
- NumPy模块支持大量的维度数组和矩阵运算
- NumPy模块支持数据转型成数组形式,进而进行切割,合并,切片功能
- 利用numpy.arange(a,b,c)来生成一维数组
实例8
import numpy as np
x = np.arange(10, 20, 2) #从10到20,以2为距离产生元素
#numpy.arange当只输入一个参数时默认从0开始,间隔1
print(x)
- 切片
实例9
import numpy as np
x = np.arange(10)
b = x[2:7]
print(b)
Math模块
- math.fabs()绝对值计算
- math.ceil()比括号内大的最小整数
模块的定义
- 模块是Pyhton中最高级别的程序组织单元
- 凡是以.py结尾的文件都是一个模块
- 调用一个模块实际上就可以使用该模块所包含的全部变量和函数
- 每个人都是模块的创造者,也是模块的使用者
Turtlr模块
- 一般用于绘制图形
实例10——绘制五角星
import turtle
turtle.goto(100, 0)
for i in range(50):
turtle.left(80) #向左转
turtle.fd(100) #向前进
turtle.left(125)
turtle.fd(105)
数据可视化
绘图模块
Matplotlib模块
- 一般用于绘制2D图像
- pyplot子库
Numpy模块
实例11折线图
import numpy as py
import matplotlib.pyplot as plt
x = [5, 6, 7, 8, 9, 10, 12, 25]
y1 = [1, 5, 3, 5, 2, 2, 1, 5]
y2 = [3, 4, 3, 2, 7, 9, 5, 4]
plt.plot(x, y1, 'o-', color='r')
# 生成折线图 o-为圆节点 s-为方节点
plt.plot(x, y2, 's-', color='g')
plt.xlabel('a')
# 横坐标名
plt.ylabel('b')
# 纵坐标名
plt.show()
实例12散点图
import numpy as py
import matplotlib.pyplot as plt
n = 100
X = py.random.normal(0, 1, n)
Y = py.random.normal(0, 1, n)
# normal为正态分布,平均数为0,标准差为1,n个
plt.scatter(X, Y, alpha=0.5)
# alpha为点的透明度
plt.xlim(-1.5, 1.5)
plt.xlim(-1.5, 1.5)
# x,y的范围
plt.xticks()
plt.yticks()
# 忽略x,y轴的标签
plt.show()
实例13直方图
import numpy as py
import matplotlib.pyplot as plt
data = py.random.rand(10000)
plt.hist(data,bins=n)
# n为几个区间组成,默认10个
3D绘图
- 一般使用mpl_toolkits.mplot3d这个函数子库来实现
绘制动态柱状图
模块
- Matplotlib
- Pandas
- IPyhton
文件处理——Python自动化办公
1.open()函数打开对象
- 只读r
- 只写w
- 读写w+
- 追加a
- 方法:一.open(文件路径,文件打开方式
二.with open(文件路径,文件打开方式) as 对象名(实验暂未可用)
实例14
f = open('C:/Users/over/Desktop/133.txt', 'a')
f.write('Hello !boy')
f.close()
2.读取文件
- 每个空格也算一个字符
- f.readline()
- f.read
- f为函数简称
实例15
f = open('C:/Users/over/Desktop/133.txt', 'r')
a = f.read()
print(a)
文件重命名
- 需要将文件导入os内置模块中,os即操作系统
实例16
import os
os.rename('C:/Users/over/Desktop/133.txt', 'C:/Users/over/Desktop/233.txt')
os.remove('C:/Users/over/Desktop/233.txt')# 删除文件
实例17
import os
path = input('请输入文件路径:')
file_list = os.listdir(path)n = 0
for i in file_list:
oldname = path + os.sep + file_list[n]
newname = path + os.sep + 'a'+str(n+1)+'.txt'
#os.sep相当于/
os.rename(oldname, newname)
n = n+1
读取Excel文件
- pandas中的read_excel函数可以读取Excel表
- 函数其中的sheet_name[]参数可以读取第几张表或者几张一起
- skip_footer = n 这个参数可以省略第几行
- 导出Excel使用to_excel(路径)
读取csv文件
- 还是使用pandas
- 然后采用pandas.read_csv(‘地址’)
- 导出csv使用to_csv(路径)
批量读取文件
import pandas as pd
import numpy as np
import os
import glob
path = '地址'
file = glob.glob(os.path.jion(path,'*.csv'))
d1 = []
for f in file
dl.append(pd.read_csv(f))