python初学日记

pip install keras -I http://pypi.douban.com/simple --trusted-host pypi.douban.com

学习Python的第二天,根据一篇信号处理的文献知道了做信号处理需要安装的三个函数包,NumPy, SciPy和matplot-lib,于是开始了漫长的搜索与下载,无线网实在太慢,即使是开了手机的热点,也慢得有点难以忍受。于是在等待的过程中在网上闲逛,发现了以为博主提供的pip install keras -I http://pypi.douban.com/simple--trusted-host pypi.douban.com,通过昨天的学习已经知道要安装库,需要在命令窗口键入:pip install lab name (library name ),故抱着试试的心态在命令窗口键入了pip install matplot-lib -I http://pypi.douban.com/simple--trusted-host pypi.douban.com,回车以后命令窗口就开始刷刷地工作了,一分钟以内OK了,难以想象还在下载的库是什么心态。于是直接停止下载,把另一个matplot-lib也装上了。回顾一下,我们将要安装的库名替换掉keras,然后在命令行执行,非常快。

pip install torchtext -i https://pypi.douban.com/simple/

这一个是安装you-get用到的,将torchtext替换成you-get就可以。

pip install pyquery -i https://pypi.douban.com/simple/

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get

下载视频、音乐和图片可以使用you-get -o 下载内容保存地址 下载内容地址(url

Unofficial Windows Binaries for Python Extension Packages

Python拓展库)

f’ ’f” ”可以将单引号或者双引号内的内容赋值给变量;

.upper()跟在字符变量后,用于将字符转换为大写字母;

.lower()跟在字符变量后,用于将字符转换为小写字母;

.title()跟在字符变量后,用于将字符串的每个词的首字母转换为大写字母;

\t制表符;

\n换行符;

.lstrip()表示删除字符串左端的空格;

.rstrip()表示删除字符串右端的字符;

.strip()表示删除字符串两端的字符;

{}用来括上字符变量,两个字符串连接可以直接是“{ } { }”;

变量一般不直接输出,而是通过f’’赋值以后再输出;

字符串连接赋值给变量需要用f’’f””,如果是字符串改变大小写赋值,不需要f,变量后面带需要的转换符号就行;

值得注意的是:所有有操作数的运算结果都是浮点型;

.append(‘bike’)用于给数组加内容,加的是bike;

.insert(i,’bike’)在数组i元素位置插入bike;

del 数组名[i]表示删除数组的i元素;

.pop()跟在数组后面代表删除数组最后的元素;

.pop(i)删除i号位置的元素,且可将该元素提出来用,而del不具有这个功能。

.remove(‘ ’)删除数组中单引号内的内容(不知内容所在具体位置时使用);

20211006(数组和列表同)

数组名.sort()表示对数组进行排序,A-Z排序;

数组名.sort(reverse=True)也表示对数组进行排序,Z-A排序(注意语句里面的大小写非常讲究,切不可随意);

sorted(数组名)只是将数组排序以后显示,不改变原数组的排序,不同于.sort();

sorted(数组名,reverse=True)表示将数组逆序排序,同样不改变原数组中的顺序;

print里面直接加字符串容易错,因此用一个字符串变量和f’’来辅助输出;

数组名.reverse()表示将数组倒序,也可修改回去,是整个数组倒序,不同于.sort()排序;

len(数组名)计算数组内元素的数量;

range(a,b)表示从ab的数列,range(b)表示从0b-1的数列,range(a,b,c)表示从ab步长为c的数列;

list(range())表示将range()数列内的元素都列举出来,可以借助print函数输出;

min(数组名)表示取数组的最小值;

max(数组名)表示取数组的最大值;

sum(数组名)表示将数组里面的所有元素相加求和;

列表名=[变量运算 for 变量 in range(a,b)]用这种方式创建数组,不错,真不错!

print(列表名[a:b])输出列表第a个元素到b-1个元素;

列表名[a:b]如果使用for循环遍历,则是b控制的是遍历的列表的前b个元素,a控制的是遍历后a个元素,一般只出现一个如:列表名[a:]或列表名[:b],叫切片;

列表名[:]有复制的功能;

元组,不同于列表,用圆括号,元组名=(,),元素不需要用‘’或“”,访问的时候与列表相同,元组名[a];

一个=是赋值,两个==是发问,是否等于,如果是字符比较,不区分大小写,只要是同一个词,后边为小写都判断为true

赋值,数字赋值不需要引号,字符串赋值需要引号(可单可双);

=也是用来判断两个值是否相等;

如果判断两个条件,则用and连接;

In用来判断一个元素是否在列表中,not in用来判断一个元素是否不在列表中;

If 内容 : 语句,如果内容为真,执行语句;

If 内容:语句 else: 语句 如果if后面的内容为真,执行后面的语句;否则执行else后面的语句;

If  elif  else要注意缩进;

2021107日星期四

Python中,如果在for循环里面多次删除列表数据,会导致循环提前结束;

开始学习字典,是个啥?

键值对:一对关联的值,是字典里面的元素a:b表示a是键,b是值,键和值都用单引号引上;

字典名={‘a’:’b’},使用时字典名[‘a’];

del 字典名[‘’]表示删除字典中的键对应的内容,可以永久删除;

.get(第一个参数,’不存在’)获取字典内的内容,第一个参数是键,后面如果不指定不存在,当键值真不存在时,返回None,否则返回不存在;

for key, value in user_0.items():相当于之前列表的一个变量扩充成两个变量了,key键,value是值;

2021108日星期五

for 变量 in set(列表名./s()):

print(变量)

 上面语句的set可以用于提取列表中的元素(不重复);

嵌套,在字典中可以嵌套列表,值可以是多个,用列表;

for 打印字典要注意

2021109日星期六

input()用于交互界面,提示输入;

注意\nprint共用时,如果print里面有f” ”,则\n 应该放在双引号里面,不能放在f前面,否则会报错;

input 输入如果是数字的时候需要转换为整型,因为input默认输入的是字符,转换为整型用int(变量),使用的话赋值给原变量就行;

input不一定要用户输入如果input(变量),其中变量在程序开始前已经赋值,则输入前就能看到变量被赋值的内容,但是不影响输入;

while循环,while 条件,如果条件为真,则执行循环里面的语句,条件为假则不执行;

break用来跳出循环,如跳出while循环,当需要退出时,无论break后面的语句和条件的状态如何,都跳出while循环,其实for循环也可;

while循环删除列表元素,首先需要知道要删除的具体元素,然后用法是while ‘元素’ in 列表,列表.remove(‘元素’),这样才能成功删除;

学习函数,函数声明用def,函数名后面有括号,无论是否有参数,函数体如循环等,需要缩进,调用时只需要写函数名就好;

如果说函数名内带参数,则该参数可以在函数内使用,类似于C语言的参数,既可以是形参,也可以是实参;

函数的调用,有一个存函数的文件,函数也自己有一个名字,在主函数中用函数的时候先声明,from 文件名 import 函数名,声明时函数不需要括号,但是调用的时候就必须要有括号;

函数对于多次调用非常实用,但是需要注意参数的位置,否则输出就会非常奇怪;

如果有实参和形参时,应注意在函数名中形参在前,实参在后;

20211012

函数调用中,注意参数,参数可以在调用时赋值,或者指定输入,

存储字典的多个值时,可以用字典[i]=函数名(),前提是函数返回了字典需要的内容;

While循环退出条件可以有break,也可以是在条件处设有限制,再或者条件值由真变假;

将列表值给函数,对列表里面的元素执行相同的操作;

在列表里面删除元素用pop时使用while循环,用remove时用for循环;

*变量名可以让传递函数中的实参编程一个列表,注意是实参,如函数名(实参1,实参2,实参3…);

再次强调,在函数中既有形参又有实参时,形参在前,实参在后,尽管实参是一个列表也要放在最后;

*实参,**变量,此处的变量后面需要用,带上前面的实参,非常重要;

开始新内容:类

定义类class 类名:def _initial_ selfnameage

继承:就是在类下面继续建立类,具有与父类的特点,方式是class 子类名(父类);

def __init__(self, make, model, year):
"""
初始化父类的属性。 """
super().__init__(make, model, year)

如果传递的参数有数字,则不需要加引号,如果是字符串就需要加引号;

继承,要继承就必须要继承全部,不能只继承一部分,添加的属性在继承的时候没法继承;

将另一个文件中的类导入当前文件:from 另一个文件名 import 类名,同时导入两个类时可以用逗号隔开;

直接导入模块,也是导入py文件,直接在新的文件首import 需要导入的文件名;

关于继承,前面说了子类要继承父类的所有内容,但是,继承归继承,可以不使用,且对于不满足子类需求的父类属性,子类可以重新定义,这叫取其精华去其糟粕。

在子类继承父类以后,子类还能够将父类的一个实例设为自己的属性;

如果在同一个文件下引入多个函数,可以在前面的引用后面继续用逗号隔开,继续使用;

类名各单词首字母大写,不使用下划线;

实例名和模块名单词首字母采用小写字母,各单词之间使用下划线;

With open(‘文件名’) as 赋值对象,赋值对象代表open(‘文件名’)返回的内容,关键字with在不需要使用文件事将其关闭;

如果需要查找的文件不与当前文件在同一路径则需要提供路径,让python去查找所需文件;

字符变量.strip()表示将字符变量里面的空格删掉;

字符变量.rstrip()表示将字符变量中的空行删掉;

文件里面写内容:with open(‘文件名’,‘w’)as file_object:回车 file_object.write(‘想写入文件的内容’);注意,该写入会覆盖原文件内容,若不存在该文件,则系统会自己生产相应的文件;

如果不想覆盖原文件中的内容,可以使用with open(‘文件名,‘a) as file_object:file_object.write(‘想要写入的内容\n’),可以写多行,此时写入的内容因为’a’而不会覆盖原文件,而是加在原文件内容的末尾;

Title.split()将title字符串拆开并以逗号间隔;

encoding='utf-8'用来对不同格式的内容进行转码,统计书中数字的时候可以用;

20211020日星期三

Csv文件读取等操作:

首先打开文件,打开方式就是前面文件的方式:with open(‘文件路径’) as 代名,需要注意的是对csv的操作有专门的模块—csv,因此需要import csv

读取的方式是csv.reader(代名),如果需要对读取的内容进行打印,可以先将读取的内容赋值给变量,然后打印变量名;

调用next(阅读内容)时,由于是第一次,因此得到的内容将是文件内的第一行;

emunate(列表名/元组名),枚举列表或者元组内的元素;

print(f"该组数据的均值是:{np.mean(sends)}")
print(f"该组数据的方差是:{np.std(sends)}")
print(f"该组数据的标准差是:{np.var(sends)}")
print(f"该组数据的偏度是:{stats.skew(sends)}")
print(f"该组数据的峰度是:{stats.kurtosis(sends)}")

np.sqrt()np.emath.sqrt()
这两个不同的地方在于,前者只能接受一个大于0的数,也就是前面的运算只能得到一个实数;而后者可以接受一个负数,运算结果也可以是一个虚数。

20211023日星期六

将列表中的数据画成线图

有关的库有:matplotlib

import matplotlib.pyplot as plt

plt.plot(要画的内容)
plt.show()#
此句看似无关痛痒,但是没有它就画不了,所以最后一定要来上这么一句

上面的pyplotmatplotlib中的一个模块,所以上面的写法是一步到位的写法,如果不嫌麻烦,还可以先import matplotlib,再import pyplot from matplotlib

Pylab包含了pyplotnumpy中的许多函数,但是使用的时候还是建议分开import,即:import numpy, import pyplot as pp, 而不是import pylab as pl.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值