python学习笔记(一)

数组操作

1.python中数据类型转换:
将数组中的float类型的元素全部变为int型的,train_labels.astype(numpy.int)

2.numpy.ndarray数组合并

np.shape(train_data1)=(10000,3072)
np.shape(train_data2)=(10000,3072)
train_data=np.vstack((train_data1,train_data2)) #垂直合并
np.shape(train_data)=(20000,3072)
train_data=np.hstack((train_data1,train_data2)) #水平合并
np.shape(train_data)=(10000,3072*2)

或者通过concatenate函数并指定相应的轴 (axis=1 水平,axis=0 垂直)
train_data = np.concatenate((train_data1,train_data2), axis=0) #垂直合并
train_data = np.concatenate((train_data1,train_data2), axis=1) #水平合并

读取字符串

从键盘读取字符串的常用方式:name = input(‘What is your name?’).strip()
strip()函数去掉开头和末尾的空白字符
name.capitalize()将name的第一个字符变为大写,其余字符变为小写(忽略空格)

print设置

print打印多个字符时默认情况下用空格分割它们。修改字符串分隔符用sep。
如print(‘Jack’,‘ate’,‘no’,‘fat’,sep=‘.’)–>Jack.ate.no.fat

默认情况下,print打印完字符后添加一个换行符,若要在同一行打印所有文本,可将每行的结束字符指定为空字符串
Print(‘jack ate ’,end=’’)
Print(‘no fat’)

break&continue

在嵌套循环中,break跳出当前循环,continue进入当前循环的下一次迭代

带默认值的参数

函数可根据需要使用任意数量的默认参数,但带默认值的参数不能位于没有默认值的参数前面。【!牢记】关于默认参数的一个要点是,只在第一次调用函数时给默认参数赋值

关键字

使用关键字参数有两大好处。首先,它们清晰地指出了参数值,有助于提高程序的可读性;其次,关键字参数的性质无关紧要。

字符串

Python中使用方括号[]来标识字符串索引。
ord()获得字符对应的字符编码。chr()有字符编码获得对应的字符.
str.rfind()查找字符串最后一次出现的位置,如果没有匹配则返回-1

字符串测试函数

检测字符串是否为特定的格式,返回True或False
s.endswith(t) – s以字符串t结尾
s.startswith(t) – s 以字符串t开头
s.isalnum() – s 只包含字母或数字(alnum: alphanumeric)
s.isalpha() – s只包含字母
s.isdecimal() – s 只包含表示十进制数字的字符
s.isdigit() –s – s只包含数字字符
s.isidentifier() – s 是合法的标识符
s.islower() – s 只包含小写字母
s.isnumeric() –s 只包含数字
s.isprintable() –s 只包含可打印字符
s.isspace() –s 只包含空白字符
s.istitle() –s 是一个大小写符合头衔要求的字符串
s.isupper() –s 只包含大写字母
t in s –s s只包含字符串t

字符串搜索函数

s.fint(t) – 若没找到t返回-1,否则返回t在s中的起始位置
s.rfind(t) – 与find相同,但从右往左搜索
s.index(t) – 与find相同,若找不到t,引发ValueError异常
s.rindex(t) – 与index相同,但从右往左搜索

改变大小写的函数

s.capitalize() – 将首字母改为大写
s.lower() – 将所有字母变为小写
s.upper() – 将所有字母变为大写
s.swapcase() – 小写变大写,大写变小写
s.title() – 让s的大小写符合头衔的要求
【注意!】[python绝不会修改字符串,在所有这些函数中python创建并返回新的字符串]

设置格式的函数

format功能强大,使用函数format时需要给它提供变量或值。
‘{0} likes {1}’.format(‘Jack’,’ice cream’)
‘Jack likes ice cream’

{who} like to {what}’.format(who=’I’,what=’play basketball’)

‘I like to play basketball’

s.center(n,ch) – 包含n个字符的字符串,s位于中央,两边用ch填补
s.ljust(n,ch) – 包含n个字符的字符串,s位于左边,两边用ch填补

剥除函数

剥除函数用于删除字符串开头或末尾多余的字符
s.strip(ch) – 从s开头或末尾删除所有包含在字符串ch中的字符
s.lstrip(ch) – 从s左端删除所有包含在字符串ch中的字符
s.rstrip(ch) – 从s右端删除所有包含在字符串ch中的字符

拆分函数

拆分函数将字符串拆分成多个子串
s.partition(t) – 将s拆分成3个字符串(head,t,tail),其中head为t前子串,tail为t后子串。
s.rpartition(t) – 与partition相同,但是从s的右端开始搜索t
(partition和rpartition将字符串分为3部分,返回值为元组。)
s.split(t) – 以t为分隔符,将s划分为一系列子串,并返回一个由这些子串组成的列表
s.rsplit(t) – 与split相同,但从s的右端开始搜索t
s.splitlines() – 返回一个由s中的各行组成的列表
(split返回一个字符串列表,列表以[]表示,元组以()表示,列表与元组差别在于:列表可修改,元组是常量。)

字符串替换函数

s.replace(old,new) – 将s中每个old替换为new
s.expandtabs(n) – 将s中的每个制表符替换为n个空格

其它函数

s.count(t) – t在s中出现的次数
s.encode() – 设置s的编码
s.join(seq) – 用s将seq中的字符串连接成一个字符串
s.maketrans(old,new) – 创建一个转换表将old中的字符改为new中相应的字符。注意:s可为任何字符串,不影响返回的转换表
s.translate(table) – 使用指定转换表(使用maketrans创建的)对s中的字符进行替换
s.zfill(width) – 在s左边添加足够多的0,让字符串的长度为width
例子:
’-r23’.zfill(6) ‘-00r23’

‘*’.join([‘once’,’upon’,’a’,’time’]) ‘once*upon*a*time’

‘’.join([‘once’,’upon’,’a’,’time’]) ‘onceuponatime’

这里写图片描述
maketrans()将‘ABCDE’映射为 ‘$%^*@’

translate()将‘BE COOL TO SPEAK LEET!’中的‘ABCDE’替换为‘$%^*@’

正则表达式

正则表达式运算符?表示它左边的那个字符是可选的。
‘cats?’表示‘cat’和‘cats’

运算符| 表示‘或者’,‘a|b|c’表示‘a’,‘b’和‘c’

‘a*’表示由0个或更多个‘a’组成的字符串

‘a+’与‘a*’相同,但排除了空字符串‘’

例子:
‘(ha)+!’ ‘ha!’, ‘haha!’, ‘hahaha!’,……
‘ha+!’ ‘ha!’, ‘haa!’, ‘haaa!’,……

导入python的标准正则表达式库 import re
re.match(regex,s) 当regex与s不匹配时返回None

数据结构

序列是一种按顺序排列的值,python有3中内置的序列类型:字符串、元组和列表。序列可用+和*来拼接,可用len计算长度,用x in s 检查序列s是否包含元素x,若是返回True,否则返回False
元组
元组是一种不可变序列,创建后就不能修改它,用()括起。在单元素元组中,末尾的逗号必不可少;多元素中可有可无。
元组函数
tup.count(x) – 元素x在元组tup中出现的次数。
tup.index(x) – 元组tup中第一个元素x的索引,若无,将引发ValueError异常
列表用方括号括起,是可变的。与元组不同,单元素列表并非必须以逗号结尾。
列表函数
s.append(x) – 在s末尾添加元素x
s.count(x) – 返回元素x在列表s中出现的次数
s.extend(lst) – 将lst的所有元素添加到列表s末尾
s.index(x) – 返回第一次x元素的索引
s.insert(i,x) – 将元素x插入到索引为i的元素前面,结果是s[i]==x
s.pop(i) – 删除并返回s中索引为i的元素
s.remove(x) – 删除s中第一个x元素
s.reverse() – 反转s中元素的排列顺序
s.sort() – 将s的元素按升序排列
注意:除了count只是返回一个数字外,其它所有函数都修改传递给他们的列表,所以使用时必须小心。
在计算机编程中pop常指删除列表的最后一个元素,与之相应的是push,在末尾添加一个元素(python中的append功能)
extend类似于append,但在末尾添加一个序列。

  • 列表:[]
  • 元组:()
  • 字典:{}

受欢迎的python包

(很多都只支持特定的python版本)
PIL:python图像处理库,支持众多图像格式,可用于执行裁剪、大小调整、旋转和滤镜效果等操作。
Tkinter:python GUI ,是python库自带的
Django:交互式网站
Bottle:交互式网站,类似于Django,不同的是他是一个轻量级的小型框架,更适合用于开发小型网站。
pygame:2D动画。让你能够创建和控制二维动画,适合用于游戏开发。pygame网站提供初步教程和实例程序。
SciPy:科学计算,求解最优化问题,执行线性代数数字计算,处理信号等
Twisted:网络编程,支持众多网络协议,可用于开发web服务器、邮件服务器和聊天客户端/服务器等
PyPi:python包索引,寻找专用python库或了解python已用于哪些方面。

文件目录

os.getcwd() – 返回当前工作目录的名称
os.chdir(p) – 将当前工作目录设置为路径p
sys.path – 当前搜索路径的目录列表
sys.path.append(p) – 向sys.path追加目录名,该路径在python运行时一直生效,关闭后失效
os.listdir(p) – 返回路径p指定的文件夹中所有文件和文件夹的名称
os.stat(fname) – 返回fname的信息,如大小(字节)和最后一次修改的时间等

你可能感兴趣的:(python,字符串,数组,print输出,python包)