python学习(mooc)

python下载安装

(跟随大创脚步,随时更新,仅供自己学习,只为看懂大创遇到的python代码,切勿模仿)

1. 关于python的下载
下载地址:Python官网:https://www.python.org/
点击DOWNLOAD,选择windows,选择安装版本(根据需要)
在这里插入图片描述
在这里插入图片描述
接着配置环境变量,在path后面加上python目录(就是下载的位置),保存,在cmd命令框中输入“python”若有相关提示则安装正确。
运行python代码可以在命令执行框,也可以是集成开发环境(Pycharm)
安装Pycharm
下载及安装:https://www.runoob.com/w3cnote/pycharm-windows-install.html

2. OS文件/目录方法
os.listdir(),返回指定的文件夹包含的文件或文件夹的名字列表
eg: os.listdir(path)
os.path.join() 路径拼接文件路径
可以传入多个路径,会从第一个“/”开头的参数开始拼接,在保证上述情况下,若出现“./”开头的参数,会从“./”开头的参数的上一个参数开始拼接
3. 注释
单行注释以“#”开头
多行注释用三个单引号’’’,或三个双引号"""括起来(成对出现,将注释包围起来)
4.def
自己定义的函数
5.List列表
python(list)列表,可以进行切片操作

list中的数据可以有不同的类型,可以通过list[i]来访问数据

eg:print.list[1:3],这里输出的是list中从下标1到下标3之前(不包括下标3!!)

list.append(‘aaa’),向list尾部插入数据

del list[2],删除列表中下标为2的元素

len函数可以求list的长度

cmp(l1,l2),比较l1和l2的元素,
如果不是同一类型,则检查是否是数字,若是数字,进行强制类型转换,否则通过类型名字的字母顺序进行比较
(p.s.python3.x中已经没有cmp板块,通过operator.eq(‘he’,‘he’)来进行比较,返回True或者False)

list.index(obj) 从列表中找出第一个与obj匹配的索引信息
list.remove(obj) 从列表中移除第一个与obj匹配的值
list.reverse() 反向列表的元素

6.for循环
for 初始 in 范围:
语句

7.File
file.readline() 读取整行,包括‘\n’字符
file.readlines() 读取所有行并返回列值

8.time
time.time() 返回当前的时间戳(是1970纪元之后经过的浮点秒数)

9.ord
ord() 返回对应的十进制的整数
eg: >>>ord (‘a’) 输出: 97

10.timeit
timeit.default_timer() 默认的计时器


更新时间2020.02.24
(目前跟随python科学与计算课程安排,python3.5)

Python输出:print函数

print(变量)/print(字符串)
(python2中使用的是print语句,如print mystring)

python输入:input函数

x=input(‘please input a number:’)
一般返回的是str字符串类型,所以可以通过类型转换函数进行类型转换
如:int(), float() , eval() 可以转为有效的表达式进行求值并返回结果
x=int(input(‘please input a number:’))


更新时间2020.03.07

range函数

range(start,end,step=2)
意思是从start开始(包括start)到end结束(不包括end)间隔为2,连续取数。
range(start,end)step可省略,缺省值为1
range(end)start可省略,缺省值为

自定义函数


```python
def  name(x,y=true):
     print('y is ok')
def  name2(x=true):
     print('x is ok')

如上,y=true,x=true均为默认参数,
但是def name3(y=true ,x): 的形式是不允许的
同时,x,y也可以是函数名,以实现传递函数的功能

匿名函数 lambda

如:r=lambda x:x+x (lambda后的x为参数,:后为表达式,函数返回值赋给r)

乘方表示

y=-0.1x**4-0.15x3-0.5*x2-0.25*x+1.2
x的4次方,x的3次方,x的2次方

plt.rcParams[]

pylot中通过rc配置文件定义默认属性,如窗体大小,线条宽度,颜色,坐标轴,文本,字体等等

plt.rcParams['font.sans-serif']=['SimHei']#设置字体为simhei,显示中文
plt.rcParams['axes.unicode_minus']=False#设置正常显示正负号
plt.rcParams['lines.linestyle'] = '-.'#设置线条样式

plt.rcParams['lines.linewidth'] = 3#设置线条宽度

plt.title()

用来设置图像的标题

plt.title('sin曲线')

plt.legend

plt.legend(loc='best')#loc为图例位置,可取(‘best’, ‘upper right’, ‘upper left’, ‘lower left’, ‘lower right’, ‘right’, ‘center left’, ‘center , right’, ‘lower center’, ‘upper center’, ‘center’) 
#图例,就是图线旁边的一个小方框,用来提示每条图线是什么

plt.plot()

plot用来绘制图线

plt.plot([x-h,x],[f(x-h),f(x)],'r--',label='前')#共四个参数,[x-h,x],[f(x-h),f(x)],r--,label
#指的是第一个参数从x-h到x中取值,第二个参数从f(x-h)到f(x)
#r--,为r红色,线条为“--”
#label='前'指的是该图线的标签

np.linspace

生成数据

xx=np.linspace(-0.5,1.5,20)#在指定间隔内返回均匀间隔的数字,共20个
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
#start为起始点,stop结束点,num为样本数,endpoint为真是包括stop,为假时不包括,
#retstep为真时,会返回(sample,step)
#step为样本步长
#dtype为数据类型
#sample包含num个等间隔样本的闭区间[start, stop]或者左闭右开区间[start, stop)(区间右端的开闭基于endpoint为True或者False)

更新时间:2020.03.10

变量作用域

即变量能够被访问的范围

全局变量

在程序主体发挥作用

局部变量

在函数体内发挥作用

注意:

1.当全局变量和局部变量同名的时候,遵循 内层屏蔽外层的原则,即函数体内的变量发挥作用。
2.当在函数体内为定义在全局的变量重新赋值时,需要在函数内添加global语句,此时变量值在函数体内修改过后,程序主体中的变量值相应改变。

常用python标准库函数

标准库函数 / 常数
mathPI,e,pow(x,y),ceil(),floor(),sqrt(),degrees(),radians()等
osgetcwd(),chdir(),rename(),remove()
randomchoice(),randint(),randrange(),random(),uniform()sample(),shuffle()
datetimedate.today(),time(),datetime.now(),strftime(),timestamp(),fromtimestamp()
import math

math.ceil(3.6)#向下取整,结果为4
math.floor(3.6)#向上取整,结果为3
math.pow(2,3)#次方,23次方
math.sqrt(4)#开方
math.degrees(3.14)#弧度制转为角度制
math.radians(180)#角度制转弧度制
import os

os.getcwd()#获得当前的工作目录
path='c:\\test'
os.chdir(path)#改变当前目录
os.rename('test.txt','test1.txt')#修改文件名字(c盘)
os.remove('test1.txt')#删除文件
import random

random.choice(['c++','java','python'])#从序列中获取随机值
random.randint(1,100)#生成1-100之间的随机整数
random.randrange(0,10,2)#从range生成的一组数中随机输出一个整数
random.random()#生成0-1.0之间的一个随机浮点数,包含0,不包含1.0
random.uniform(5,10)#生成5-10之间的一个随机浮点数
random.sample(range(100),10)#从range生成的数中随机选择10个输出,返回一个列表
nums=[1001,1002,1003,1004]
random.shuffle(nums)#将nums中的元素打乱

import datetime
from datetime import date
from datetime import time
from datetime import datetime

date.today()#输出当前的日期
tm=time(23,36,52)#创建时间23:36:52
dt=datetime.now()#当前的日期和时间,时间会包括毫秒
print(dt.srftime('%a, %b %d %Y %H:%M'))#格式化输出当前的时间日期
dt=datetime(2020,3,10,23,26)
ts=dt.timestamp()#将目前的日期时间转化为时间戳(秒数)
print(datetime.fromtimestamp(ts))#将时间戳转化为时间日期

异常Exception

错误:语法错误,运行时刻错误,逻辑错误
在这里插入图片描述
python中每一个异常都是类的实例

异常类描述
BaseException所有异常的基类
Exception常规异常的基类
AttributeError对象不存在此属性
IndexError序列中无此索引
IOError输入/输出操作失败
KeyboardInterrupt用户中断执行
KeyError映射中不存在此键
NameError找不到名字
SyntaxErrorpython语法错误
TypeError对类型无效的操作
ValueError传入无效的参数
ZeroDivisionError除(或取模)运算的第二个参数为0
异常处理

try - except
在这里插入图片描述
可用多个except语句和一个except块捕捉异常

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

获取本地数据

即获取本地文件中的数据
文件的打开,读写和关闭

文件的打开

open函数,返回一个文件对象
文件对象可迭代

file_obj=open(filename,mode='r',buffering=-1,......)
#第一个参数为文件名
#mode为可选参数,r为以读的方式打开文件
#buffering也为可选参数,默认值为-1(0代表不缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小)

open函数-mode

modefunction
r读模式
w写模式,会清空原来的内容
x写模式,若文件已存在则操作失败
a追加模式,从EOF开始,必要时创建新文件
r+读写模式
w+读写模式。清空原内容
a+读和追加模式
rb二进制读模式
wb二进制写模式
ab二进制追加模式
rb+二进制读写模式
wb+二进制读写模式
ab+二进制读写模式
文件写

file_obj.write(str)
在这里插入图片描述

文件读

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网络数据的获取

requests库

reguests.get()
在这里插入图片描述

网页数据解析

在这里插入图片描述

序列

python中有6中序列,
其中字符串,列表,元组是最常见的
序列中每一个元素都有和其位置相对应的索引
0。。。。。。。N-1
-N。。。。。。。-1

序列相关操作

在这里插入图片描述

功能标准类型运算符
值比较< , > ,<= , >= , == , !=
对象身份比较is,is not
布尔运算not,and,or

在这里插入图片描述

功能序列类型运算符
类型转换函数list(),str(),tuple()
求长度len()
排序sorted()
求最值max(),min()
求和sum()
返回enumerate对象,一个一个的由元素的索引和值构成的元组enumerate()
返回一个zip对象,将对象对应的元素打包成一个一个的元组zip()
逆序reversed()

字符串

’ '," ",三引号(保持原貌)
输出函数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
string.join(iterable)
将string作为分隔符,连接iterable为一个字符串

在这里插入图片描述

字符串常用方法

在这里插入图片描述

列表

可扩展的,可变,容器,可包含不同类型的对象

在这里插入图片描述
sorted方法,原始列表的值不改变
在这里插入图片描述

元组

不可变 ,可切片,可获取,可计算长度

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值