了解python
python是面向对象解释型计算机程序设计语言
Guido van Rossum(吉多·范罗苏姆)荷兰人发明于1989年,公开发布发行时间1991年
遵循GPL(GNU general Public License)许可
下载地址
python.org官网
https://www.python.org/downloads/windows/下载地址
python开发工具是IDLE集成python开发环境
与系统互交的命令
import os
os.mkdir(‘i:\dd’) 创建文件夹
安装 maplotlib绘图
使用pip安装输入输入命令
-
执行python -m pip install -U pip setuptools进行升级。
-
python -m pip install matplotlib进行自动的安装,系统会自动下载安装包
-
python -m pip list查看本机的安装的所有模块,确保matplotlib已经安装成功。
-
进入到python idle中,运行import matplotlib,如果没有报错提示,那就可以开始使用。
使用绘图工具
导入 import matplotlib.pyplot as plt
指定显示位置
长度 宽度plt.bar(x=(1,10,15),height=(3,4,3),width=2)
输入出图像plt.show()
python的数据类型
python中不用定义数据类型
直接是数据名 数据值
数值型
x = 1
x =1.1
布尔类型
true真
false假
直接输入100>1
运算符 + - * / %取余
z,x,c=2,3,4
print (zxc,x/4)
字符串类型
print (“内容”)
多行 print (‘’’三个单引号’’’)
字符串中一般使用单引号和双引号括住
常用的转义符
字符串的其他用法
数字乘字符串3*a表示打印3个a
读万卷书,不如行万里路 行万里路,不如阅人无数 阅人无数,不如名师指路 名师指路
不如不学无术
cc=’ ’
print (cc+‘读万卷书,不如行万里路’)
print (2*cc+‘行万里路,不如阅人无数’)
print (4*cc+‘阅人无数,不如名师指路’)
print (6*cc+‘名师指路,不如不学无术’)
列表
x=[22,33,‘666’]
print (x[1]*x[2]) 数字表示取值
print (x[0:100]) 从0标到100标
输出空也是可以的例如print (x[19:111])不能单独打标空值报错
列表的取值
x=[66,‘dd’,‘ee’,2]
print (x[2])
列表值修改
x[2]=‘33’
print (x[2])
列表添加值最后
x.append(33) 在最后插入33
print (x[0:6])
列表中插入值
x.insert(2,‘rrr’) 在第2个位置插入rrr
print (x[0:6])
列表的删除
del x[3]
删除x列表中的第3个数据
print (x[0:6])
列表的查看
print (x)
66 in x 查看x列中是否有66有为true没有为false
True
列表相连
y=[1,1,1]
c=y+x 连接y和x列表数据
print ©
列表相乘
print (c*6)打印6次C列表
索引越界超出列表的数字称之为越界
元组
列表和元组
列表
元组
元素
方括号
圆括号
可变性
可变
不可变
操作
添加修改删除搜索
搜索
为什么要用元组?
元组比列表操作速度快
不允许修改,是数据更安全
元组转换为列表
a=(1,2,3,)
b=list(a)
转换成列表
c=[1,2,3]
d=tuple©
转好成元组
字典(dictionary/map)
创建字典
字典名={‘键1’:’键值’,’键2’:’键值’,…}
键值之间使用冒号,键与键之间使用逗号。
查询键直接输入字典名
查找字通过字典中的键名查找
每个字段都要添加单引号
键是唯一的,不同的键值可以相同
字典修改值
字典[‘键名’]=’值’
当字典里没有键时会自动添加
删除字典值
del 字典名[‘键名’]
不能用+运算符执行连接
#定义一个字典
db={}
#接收键盘输入的用户名和密码
prompt=’–The
first login desired:’#第一次登录需要:
name=input(prompt)
#在2.7中使用raw_input()键盘接受
pwd=input(‘passwd:’)
#保存到字典中
db[name]=pwd
#输出字典中全部数据
print
(db)
#根据用户名查询他的密码
prompr=’–login
searched:’#已搜索的登录:
key =
input(prompr)
print (db[key])
x=’123456789’
字符串取后三位(数字不能取值)
x[-3:]
pythom中的判断条件
if语句
if 1>22:
print (‘输出内容’)
关系运算符
== 相等
!= 不等
= 大于等于
<= 小于等于
大于
< 小于
if else 语句
if
1>=66:
print (‘合格’)
else:
print(‘不合格’)
多重if语句
if 1>90:
print(‘第一名’)
elif 1>80:
print(‘第二名’)
elif 1>70:
print(‘第三名’)
else:
print(‘回家种地’)
if中 in 是判断相等条件
not in 是判断不等条件 not 非
python 循环
如果条件为true执行
while 循环条件
循环操作
while语句的构成
while关键字
条件表达式
冒号(?
循环操作
特点先判断后执行
嵌套while循环
while循环条件1
while循环条件2
执行语句
#输入2位学生每人5门课程的考试成绩,计算平均成绩
#在pyrhon中,表示连接符。
j=1
while j<=2:#循环条件以:结束
i=1
sum=0
while i<=5:#循环条件:结束前面空4个空格
print(‘请输入%d门成绩的成绩:’%i) #输出提示输入的语句%d是%1格式化放入字符串中
sum=sum+int(input()) #键盘接收整数
i=i+1#迭代循环判断条件
avg=sum/(i-1) #计算平均数
print (‘第’,j,‘位同学5门成绩的平均数是:%d’%avg)#输出提示输入的语句%d是%avg格式化放入字符串中
j=j+1#迭代循环的判断条件
print(‘程序结束!’)#结束打印输出
for循环
%号的作用
格式
描述
%% 百分号标记 #就是输出一个%
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似于%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中
%格式化符也可用于字典,可用%(name)引用字典中的元素进行格式化输出。
python 中的for循环
基本语法 for 一个变量 in 有值的变量:
#for循环
d=“123123123123”
#拆分字符串
for x in d:
print(x)
a=[123,456,77,88]#遍历列表
for x, v in
enumerate(a):
print (x,v)
b=(11,223,22,3,44,2)#遍历元组
for x,v in
enumerate(b):
print(x,v)
c={‘1’:‘123123’,‘2’:‘12312312333’,‘3’:‘dhaskjds’}#遍历字典
for x in c:
print(x,c.get(x))
for循环中的函数 range() 取值范围从始数字开始到结束数字之前
逻辑运算符
and 与
or 或 not 非
循环的控制语句
continue跳出本次循环执行下次循环
break 跳出当前循环
功能 strip()[0] 读取控制台输出的字符串去除首尾多余的空格第一个字符
lower() 将第一个字符转换为小写字母
has_key()判断key是否存在字典中如果有返回true 没有返回false
在3.7中直接输入
字典
get()获取key对应的值
eval()函数获取输入字符串的数字部分例如 x=input() x=eval(x)
import random #导入随机的小数包
x=random.random()#产生随机的小数
print(x)#打印随机的小数
len()函数获取一串字符串的长度
pathon中的函数
函数就是有组织可重复使用
用于执行一个单一的相关动作
函数使用 定义函数
— 调用函数
函数的分类无参函数
def add()
a=10
b=2
rt=a+b
return rt
#利用函数打印99乘法表
def jj():
a=(1,2,3,4,5,6,7,8,9)
b=(1,2,3,4,5,6,7,8,9)
for i in a:
for j in b:
c=i*j
print(i,'*',j,'=',c)
return
无参函数不用参数直接分装直接调用
带参函数括号里有变量
def add(a,b):#定义形参
print a,b
add(1,2) #实参调用
add(a=2,b=1)#关键字参数 形参位置一致 方便给形参复制
参数的个数问题,传入的函数参数的个数必须和声明的参数一致
关键字参数默认值,关键字参数有个特殊的作用定义设置参数的默认值
在位置参中使用关键参数必须统一使用
#带参函数
#带参分为形参 和实参
def add(x,t):#形参
y=x+t
return y
def bdd(x,t):#位置参数
return x,t
def
cdd(x=1,y=2):
return x,y#关键字参数
局部变量
函数里的变量
全局变量
if name==’main’:程序的入口主函数
常用的函数
append() 在列表中尾部插入数据
用法:x.append(‘shuju’)
insert()在列表中某个位置插入数据
用法:x.insert(3,’shuju’)
count()查看当前字符串出现过几次匹配的字符
用法:x.count(‘d’,2,20)
del()删除列表或删除列表中的某个值
len()
sort()
reverse()
pop()
remove
常见的错误
TypeError:
count() takes exactly one argument (3 given)
typeError:count()只接受一个参数(给定3个)
SyntaxError:
invalid syntax
语法错误:无效语法
NameError: name
‘x’ is not defined
名称错误:未定义名称“x”
python中的模块
模块比函数更加复杂严密
模块是保存在成一个文件
模块之间代码共享,可以互相调用,实现代码重用
代码中的函数名称必须唯一
导入模块import 包名
例如:import day020
import.add(123,12)
指定导入模块from 文件名 import 函数 直接调用函数
例如:from day020 import add
add(123,12)
面向对象的理解
万物皆对象
对象有属性和方法
属性 例如 狗类 牧羊犬
哈巴狗 白狗红狗
方法 例如 会跑 会吃
具有相同或相似性质的对象的抽象就是类
类具有属性,是对象状态的抽象
类具有操作,是对象行为的抽象
类是模子,定义对象将会拥有的特征(属性)和行为(方法)
类的定义
class 名称:
‘文档说明’
def name(self): #隐藏函数
pass空语句
类名规范
首字母大写
大写字母分割单词
不使用下划线
属性名
首字母小写
大写字母分割单词
不使用下划线
方法名
大写字母分割单词
不使用下划线
文档字符串
‘’’内容’’’