python基础学习

字面量:1、代码中,被写在代码中固定的值,称之为字面量

               2、常见的字面量类型:整数(int)、浮点数(float)、字符串(string)

               3、基于print输出字面量

print(615)
print("大数据实验室")
print(615.1)

注释

注释是代码的解释语句,方便与作者与读者理解代码意思,注释不会被程序执行

单行注释:通过#号定义

#大数据实验室

多行注释:通过一对三个单引号来定义注释内容

'''大
数据
实验室'''

 数据类型

类型 定义 例子
string 字符串类型 abcd
int 整形 615
float 字符型 615.615

可以通过type()语句查看数据类型

type(615)
type(615.615)
type("大数据实验室")

数据类型的转换

语句 作用
int() 转化为整形
float() 转化为浮点型
str() 转化为字符串

注意:字符串转为int型只会将数字部分可以转化为int型

           任何类型都可以转化为字符串

           float转为为int会丢失小数部分

运算符

常见的算数运算符:

+
-
*
/
// 整除
% 取余
** 平方

赋值运算符:

= += -= *= /= //= %= **=
标准赋值 复合赋值 复合赋值 复合赋值 复合赋值 复合赋值 复合赋值 复合赋值

字符串

字符串的定义方式:单引号,双引号,三引号;

字符串的拼接:+

字符串格式化:

m=666
print("机械学习:%d"%m)

m=666
print(f"机械学习:{m}")

 其中第二种方式不理会类型,不能做精度控制,适合对精度无要求是快速使用

精度控制:%m.nd,%m,.nf,其中m表示所占的列数,n表示小数点后几位

注意:如果m比数字还小,m不会生效

           n会对小数部分做精度控制,同时对小数部分进行四舍五入

数据的输入:input()函数的使用

input()的功能是从键盘获得数据,它传入的数据类型为字符串类型

a=input("请输入一个数:")

布尔类型数据:

布尔类型是表示真假的数据类型:True表示真,False表示假

布尔类型数据不仅可以通过定义,也可以由比较运算得到

布尔类型可以用作判断与循环的条件

if,if else,if elif else判断语句

if (判断条件1):

        条件1成立执行的语句

elif (判断条件2):

        条件1不成立,2成立时执行语句

else:

        前面条件都不成立所执行的语句

注意:1、判断条件的结构为布尔类型数据

           2、条件后加:

           3、通过4个空格,来控制之间的归属关系

判断语句的嵌套:通过缩进来控制之间的层次关系

while循环语句

while循环格式:

while 条件:

        执行语句

while循环注意:条件返回为布尔类型:True表示继续,False表示停止

                           通过缩进来控制层次关系

                           要控制好条件与语句,防止造成死循环

while循环的嵌套:通过缩进来控制层次关系

for 循环:对一个序列中的元素一个一个访问,实现对序列的遍历

range(n,m,q)函数:生成一个从n开始,以q为步长,生成一个序列,无q时步长默认为1

for循环与while循环相同,通过缩进来控制层次关系,同时for循环可以与while循环嵌套使用

continue和break关键字:

continue(临时终端)的作用:中断所在循环的执行,直接进入下一次循环,不进行之后的语句

break(永久中断)的作用:直接结束循环,跳出循环

注意:在嵌套循环中,continue与break只能作用于所在层次的循环,对上层的循环无法发挥作用

数据容器:

常见的数据容器:序列:(列表(list)、元组(tuple)、字符串(str),字典(dict)、集合(set)

列表:

列表的定义:

a=[]

列表的下表索引:可以取到对应位置的元素

a=[1,2,3,4]
print(a[0])

列表的常用方法:

a.append(元素) 向列表中追加一个元素
a.extend(数据容器) 将数据容器中的内容依次取出追加到列表尾部
a.insert(下标,元素) 在指定下标处,插入指定的元素
del.a[下标] 删除指定下标的元素
a.pop(下标) 删除指定下标的元素
a.remove(元素) 从前向后,删除第一个元素匹配项
a.clear() 清空列表
a.count(元素) 统计该元素在列表中出现的次数
a.index 查找指定元素的下标,找不到报错ValueError
len(列表) 统计列表长度

列表的特点:

1、可以容纳多个数据(上限为2**63-1)

2、可以容纳不同数据类型的数据

3、数据是有序存储,可以通过下标索引取出指定位置的元素

4、允许重复元素的存在,此点与集合相反

5、可以修改(增加,修改,删除元素),此点与元组相反

6、可以通过while,for循环遍历列表的元素

元组的定义:

a=()

元组的操作方法:

index 查找元素,返回对应下标
count 统计元素出现个数
len(元组) 统计元组长度

元组特点:

1、可以容纳不同数据类型的数据

2、数据是有序存储,可以通过下标索引取出指定位置的元素

3、允许重复元素的存在,此点与集合相反

4、不可以修改(增加,修改,删除元素)

5、可以通过while,for循环遍历列表的元素

字符串(str)

字符串定义在之前的数据类型已经介绍,这里不过多说明

操作 作用
字符串[下标] 根据指定下标找到指定位置字符
字符串.replace(字符串1,字符串2) 将字符串中的字符串1全部替换为字符串2
字符串.index(字符串) 查找给定字符的第一个匹配项的下标
字符串.split(字符串) 按照给定字符串对原字符串进行分割,最后返回值为一个列表

字符串.strip()

字符串.strip(字符串)

移除首尾的空格和换行符或指定字符串
字符串.count(字符串) 统计字符串内指定字符串出现次数
len(字符串) 统计字符串的长度

序列的切片:

序列切片格式:序列[起始:结束:步长]

起点可以省略,从开头开始

结束可以省略,到序列末

步长可以省略,默认步长为1,可以为-1,表示倒序进行

a=[1,2,3,4,5,6,7,8,9]
b=a[1:8:2]
print(b)

集合(set)

集合的定义:{元素,元素,....}

集合的特点:

1、可以容纳不同类型数据

2、不允许元素重复出现

3、可以修改

4、无序

5、支持for循环,不支持while循环,因为没有下标索引

6、可以通过集合对序列进行去重

字典

 字典的定义语法:{key:value,key:value,key:value....}

字典的注意事项:

1、字典内的key不能重复

2、键值对的key和value可以是任意类型

3、字典只能通过key来检索value

字典的常用操作:

方法 作用
字典[key] 获取指定key对应的value值
字典[key]=value 添加新的键值对
字典.pop(key) 取出key对应的value并删除此key的值
字典.clear() 清空字典
字典.keys() 获取字典全部key,可通过循环遍历字典
len(字典) 计算字典内元素个数

字典的特点:

1、可以容纳多个数据

2、可以容纳不同数据

3、每一份数据都是键值对

4、可以通过key获取value

5、可以修改

定义:在程序中设计表格,我们称之为类(class)

           在程序中打印生产表格,我们称之为:创建对象

           在程序中填写表格,我们称之为对象属性赋值

类的主要知识点:成员变量,成员方法,封装,构造方法,继承

成员变量,成员方法:

class 类的名称:

        类的属性(即定义在类中的成员变量)

        类的行为(即定义在类中的成员方法)

创建类对象的语法:

对象=类的名称()

self的作用:只有通过self,成员方法才成访问类的成员变量

                    self出现在形参列表中,但不占用参数位置,忽略即可

class a:
    b=1
    def c(self,b):
        b=b+1

继承:

定义:继承就是一个类继承另一个类的成员变量和成员方法

语法:

class 子类名称(父类名称)

        类内容体

子类构建的类对象可以有自己的成员变量和成员方法,同时可以使用父类的成员变量和成员方法

单继承与多继承:

单继承:一个子类继承一个父类

多继承:一个类继承多个类,优先级按照从左到右,如果父类有同名的成员变量和方法,先继承优先级高的

抽象类(pass)关键字的作用:pass是占位语句,用来保证函数(方法)或类的完整性,表示无内容,空的意思,之后在子类中再定义执行的语句

复写父类成员和调用父类成员:

复写:对父类成员变量与成员方法进行重新定义

复写语法:在子类中重新实现成员方法或成员变量即可

子类中如何调用父类内容:

成员变量:父类名.成员变量

成员方法:父类名.成员方法(self)

封装:

私有成员:在类中提供仅供内部使用的属性和方法,不对外开放(类对象无法使用)

如何定义私有成员:成员变量与成员方法均以_做开头即可

私有成员的访问限制:

类对象无法访问私有成员

类中其他成员可以访问私有成员

到此python基础知识大概全部包含,其中有许多细节点还未讲解到,这里我就不为大家详细赘述,大家对于某模块想进行更细致的学习或某些知识点不理解,大家可以在其他知识获取渠道获得更多的细节知识

数据可视化(matplotlib基础使用)

在这里我们学习使用matplotlib库进行基础的画图,希望对大家有用

首先认识matplotlib

Matplotlib 是一个 Python 2D 绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的
图形,用来绘制各种静态,动态,交互式的图表。
Matplotlib 可用于 Python 脚本, Python IPython Shell Jupyter notebook Web 应用程序服务器和
各种图形用户界面工具包等。

一个简单的绘图例子:

import matplotlib . pyplot as plt
import matplotlib as mpl
fig , ax = plt . subplots () # 创建一个包含一个 axes figure
ax . plot ([ 1 , 2 , 3 , 4 ], [ 1 , 4 , 2 , 3 ]); # 绘制图像

python基础学习_第1张图片

画图基本步骤

1.导入库
import matplotlib as mpl
import matplotlib . pyplot as plt
2.创建画板,然后对画板进行调整
fig = plt . figure (( figsize =( 6 , 10 ), facecolor = 'b' , dpi = 500 ) # 定义一张画板命名为 fig
#figsize 是调整你的图像的比例大小 , 上面所示就是 : / =6/10
#facecolor 是设置画板的背景颜色 , 一般颜色代码为英文的首字母
#dpi 设置图像的分辨率 , 分辨率越图像越清晰 , 尺寸也会按比例变大
#edgcolor 是设置边框颜色的参数
3.定义数据
这里我们使用 numpy 库函数来制造一些数据
所以我们还得导入 numpy 函数
import numpy as np
# 设置 xy 的值
x = np . linspace ( - 5 , 5 , 11 ) # 这里是 -5 5 平均分成十一份 ,(-5,-4,-3,.....),具体的np.linespace讲解请大家自行查找
y =[ 1 , 6 , 3 , - 3 , 6 , 8 , 3 , 6 , 9 , 1 , - 5 ]
4.绘制图形(包含坐标轴的设置,数据的导入,线条的样式,颜色,还有标题,图例,等等)
# 添加 p1 到画板
p1 = fig . add_subplot ( 111 ) # 这里的 111 是指把画板分成一行一列 , p1 添加到第一副图
# 限制函数坐标轴的长度
p1 . axis ([ - 5 , 5 , - 10 , 10 ]) #x 轴长度为 -5 5,y 轴长度为 -10 10
# 设置 x,y 轴的刻度
plt . xticks ( x )
plt . yticks ( y )
# 这里是指 :x,y 轴的刻度为之前定义的 x,y 数据列表
# 设置坐标轴的上下限
plt . xlim ( - 5 , 5 )
plt . ylim ( - 10 , 10 )
# 绘制图像
p1 . plot ( x , y , marker = 'o' , ms = 5 , lw = 2 , ls = '--' , label = 'band' )
#x,y 就是最开始定义的数据
#marker 是设置拐点样式 :o/h/^/./+ 等等
#ms 是设置拐点的标记大小
#lw 就是设置线条粗细 , 数值越大线条越粗
#ls 是设置线条样式 , 这里 '--' 为虚线
#label 是设置此线条的名称标题
p1 . legend ( loc = 'best' )
# 添加图例 , 其中 best 是指将图例的位置添加到最佳位置 , 也可以自己设置位置, 例如 :upper left( 左上角 )
# 添加标题
plt . title ( 'NUM' , fontsize = 24 ) # 设置图像的标题 ,fontsize 是设置标题文字的大小
plt . xlabel ( 'Value' , fontsize = 14 ) # 设置 x 轴的标题
plt . ylabel ( 'ARG' , fontsize = 14 ) # 设置 y 轴的标题
5.plt.show() #绘图并显示出来
plt.show
6.上述完整代码
import matplotlib . pyplot as plt
import numpy as np
# 设置 xy 的值
x = np . linspace ( - 5 , 5 , 11 )
y =[ 1 , 6 , 3 , - 3 , 6 , 8 , 3 , 6 , 9 , 1 , - 5 ]
# 创建一张画板
huaban = plt . figure ( figsize =( 6 , 10 ))
# 添加 p1 到画板
p1 = huaban . add_subplot ( 111 )
# 限制函数坐标轴的长度
p1 . axis ([ - 5 , 5 , - 10 , 10 ])
# 设置 x,y 轴的刻度
plt . xticks ( x ) plt . yticks ( y )
# 去除右边边框
p1 . spines [ 'right' ]. set_color ( 'none' )
# 去除顶部边框
p1 . spines [ 'top' ]. set_color ( 'none' )
# 下面两行代码是将 xy 轴的交点改为 (0,0)
p1 . spines [ 'bottom' ]. set_position (( 'data' , 0 ))
p1 . spines [ 'left' ]. set_position (( 'data' , 0 ))
# 绘制图像
p1 . plot ( x , y , marker = '^' , ms = 5 , lw = 2 , ls = '--' , label = 'band' )
p1 . legend ( loc = 'upper left' )
# 添加标题
plt . title ( 'NUM' , fontsize = 24 )
plt . xlabel ( 'Value' , fontsize = 14 )
plt . ylabel ( 'ARG' , fontsize = 14 )
# 添加辅助虚线
for i in range ( len ( x )):
x1 =[ x [ i ], x [ i ]]
y1 =[ 0 , y [ i ]]
plt . plot ( x1 , y1 , 'r-.' )
for i in range ( len ( x )):
x2 =[ 0 , x [ i ]]
y2 =[ y [ i ], y [ i ]]
p1 . plot ( x2 , y2 , 'r-.' )
# 添加每个折点的坐标
for i in range ( len ( x )):
p1 . text ( x [ i ], y [ i ],( x [ i ], y [ i ]), c = 'green' )
plt . grid ( c = 'b' , ls = '--' ) # 这个函数是生成网格的函数
plt . show ()

散点图的绘制

散点图其实大部分语法和上述差不多 , 只需要将折线图中的 plt.polt() 改为 plt.scatter()
import matplotlib . pyplot as plt
import matplotlib as mpl
fig , ax = plt . subplots () 
ax .scatter ([ 1 , 2 , 3 , 4 ], [ 1 , 4 , 2 , 3 ])

条形图的绘制

使用 plt.bar() 进行绘制
import matplotlib . pyplot as plt
import matplotlib as mpl
fig , ax = plt . subplots () 
ax .bar ([ 1 , 2 , 3 , 4 ], [ 1 , 4 , 2 , 3 ])

饼状图的绘制

饼状图的绘制与之前的图大同小异,下面举一个例子

import matplotlib . pyplot as plt
x =[ 20 , 40 , 10 , 30 ]
name =[ 'A' , 'B' , 'C' , 'D' ]
label =[ '20.00%' , '40.00%' , '10.00%' , '30.00%' ]
huaban = plt . figure ()
p1 = huaban . add_subplot ( 111 )
p1 . pie ( x , labels = name , colors = colors , autopct = '%1.2f%%' , explode = ( 0 , 0.2 , 0 , 0 ))
plt . show ()

3D图的绘制

1、首先创建一个三维绘图区域, plt.axes() 函数提供了一个参数

projection ,将其参数值设置为 "3d" 。如下:
import matplotlib . pyplot as plt
ax = plt . axes ( projection = '3d' )

2、引入三维数据

import numpy as np
z = np . linspace ( 0 , 1 , 100 )
x = z * np . sin ( 20 * z )
y = z * np . cos ( 20 * z )

3、绘制图像,显示图像

ax . plot3D ( x , y , z)
ax . set_title ( '3D line plot' )
plt . show ()

绘制各种3d图的方法:

三维线图:plt.plot3D

三维散点图:plt.scatter3D

三维等高线图:plt.counter3D

三维线框图:plt.plot_wireframe()

到此为止是本人最近的学习成果,如有错误请指正,希望此简单的总结对大家有用。

你可能感兴趣的:(学习)