神经网络中常用的python知识点总结

本文总结了神经网络开发中常用的Python基础知识,包括字符串处理、列表、字典、类、元组等数据类型的操作,以及文件处理、函数应用和数据预处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

神经网络中常用python知识点总结

本文主要涉及目前神经网络中常遇到的python字符串分隔,对列表,字典,类,文件,函数,数据预处理与展示等方面的知识,大致总结下这方面的应用。

1、字符串

1.1 字符串索引

假如字符串长度为N,其索引值从左到右为[0,N],N处取不到,从右向左为范围为[-N,-1],-1取不到。举例如下:

s = 'We are friend!'
print(len(s))
s1 = s[0]
s2 = s[0:]
s3 = s[1:5] #5取不到
s4 = s[-1:]
s5 = s[-4:-1] #-1取不到 注意冒号的左边数要比右边的小
s6 = s[0:13]
s7 = s[-13:-1]# 
#print(s1-s7)后结果如下:
输出:
13
W
We are friend
e ar
d
ien
We are friend
We are frien

1.2 其他操作

函数名方法用法
strip用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列str.strip([chars]);
lower字母转小写str.lower()
split按指定符号分隔字符串s = ‘ab,cde,fgh,ijk’ print(s.split(’,’))
find按指定字符查找字符串中的该字符s =‘snow,maple’,s.find(‘now’)

2、列表操作

列表是python的一种数据类型,可以同时存放数字,字符串等多种数据类型,类似c语言中的结构体。

2.1 列表索引

列表索引和字符串索引语法相同。

list1 = ['1',2,'3','snow',4]
list0 = list1[0]
list2 = list1[0:]
list3 = list1[1:]
list4 = list1[-1:]
list5 = list1[-5:]
输出:
list1---['1', 2, '3', 'snow', 4]
list0---1
list2---['1', 2, '3', 'snow', 4]
list3---[2, '3', 'snow', 4]
list4---[4]
list5---['1', 2, '3', 'snow', 4]

2.2 其他操作

2.2.1 添加元素
函数名方法用法
append向列表中添加元素,一次只能加一个,且只能在列表尾部追加list1.append(a)
extend向列表中添加元素,一次可添加多个,也只能在列表尾部追加list1.extend(a,b,c…)
insert可在列表指定位置添加元素list.insert(a,b),在列表的第a+1处添加元素b
2.2.2 删除元素
函数名方法用法
remove从列表中删除特定元素list1.remove(a)——删除元素a
del删除掉索引为n的元素,注意del是一种语句del list1[n]
insert可在列表指定位置添加元素list.insert(a,b),在列表的第a+1处添加元素b
pop将列表最后一个元素返回,并删除a = list1.pop()
2.2.3 排序,逆置
函数名方法用法
reverse将列表中的元素逆置list1.reverse()
sort将元素列表排序list1.sort()

3、元组

元组是与列表类似的另一种容器型数据类型,用圆括号表示,它的基本性质和索引操作和列表是一样的,重要的是元组中的元素不能重新赋值。

#元组打包
a = (1,2,3,4,"nihao",5)
c,d,e,f,g,h = a
相应的取出对应的值,左边的变量个数和元组a的长度想通过。

4、字典

字典是python中可变容器模型存放的元素无序,它可以同时存放多种类型,以键-值对的形式存在。
常见的注意事项:

  • ①创建字典时,键不能重复,同一个键可以多个值,但只记住最后一个赋值
  • ②创建字典时,键的类型可以时字符串,数组,元组,但不能时列表,列表可变,值可以是列表,字符串,数字等其他数据类型
a = {"ni":[1,'wo'],2:"o",(1,2):'ninini',(3,4):(2,1)}
print(a)
print(a[2]) 
print(a.get((1,2)))
对于键是字符串,数字的可以直接索引获得值,如果是元组的话可以用get函数获取元素
上述输出:
{'ni': [1, 'wo'], 2: 'o', (1, 2): 'ninini', (3, 4): (2, 1)}
o
ninini

其他重要函数:items
采用items可将字典以列表的形式输出,并且元素类型是元组数组,如下所示:

a.items()
输出:
dict_items([('ni', [1, 'wo']), (2, 'o'), ((1, 2), 'ninini'), ((3, 4), (2, 1))])

5、其他常用函数

5.1 join函数

python中的join函数其实就是字符串的拼接,它可以将元组,列表,字典的键等进行拼接(元组,列表,字典里的元素数据类型必须是字符串类型),它常在以下两种情形用到

  • ①:在字符串中的应用:a.join(b) 其中a是分隔符,b是需要连接的数据例如
a = ','
c = ' '
b = ['1','2','is','ni']
print(a.join(b)) #注意b中的元素全是字符串类型才能连接
print(c.join(b))
输出:
1,2,is,ni
1 2 is ni
  • ②:文件地址拼接: os.path.join(path1,path2,path3…)
import os
os.path.join('/hello/','good/boy/','doiido')
输出:
'/hello/good/boy/doiido'
import os
path1 = 'C:/python/' 
path2 = 'xi/'
path3 = 'wo/'
print(os.path.join(path1,path2,path3,'ee'))
输出:C:/python/xi/wo/ee

注意每个地址的最后一个加/结尾,最后一个文件可不用,如果不加,则出错如下:

import os
path1 = 'C:/python'
path2 = '/xi'
path3 = '/wo'
print(os.path.join(path1,path2,path3))
输出结果:C:/wo

5.2 seed,rand,randn,randint

方法名作用
seed随机因子,一旦被确定后,无论运行多少次,生成的随机数一样,一种伪随机有利于结果的复现
rand(a,b,c…)生成 [0,1)范围内满足均匀分布的随机样本数 abc…行列高…三维及以上
randn(a,b,c…)生成一个满足平均值为0,方差为1的正太分布随机样本数
randint在给定范围内生成类型为整数的随机样本数
binomial生成一个维度指定且满足二项分布的随机样本数
beta生成一个指定维度且满足beta分布的随机样本数
normal生成一个指定维度且满足高斯正太分布的随机样本数
有随机种子,无论执行多少次都是一样的随机数。
import numpy as np
np.random.seed(10)
print(np.random.rand(2,3))
print(np.random.rand(2,2,4))
print(np.random.randint(1,10))
print(np.random.binomial(6,1))
输出:
二维:
[[0.77132064 0.02075195 0.63364823]
 [0.74880388 0.49850701 0.22479665]]
三维:
[[[0.19806286 0.76053071 0.16911084 0.08833981]
  [0.68535982 0.95339335 0.00394827 0.51219226]]

 [[0.81262096 0.61252607 0.72175532 0.29187607]
  [0.91777412 0.71457578 0.54254437 0.14217005]]]
7
6

5.3 break,continue,pass

break,continue和pass是控制循环的语句,它们区别如下

语句名作用
break用于中断当前循环并且结束整个循环
continue用于中断当前循环,进入下一次循环
pass不做任何操作,继续执行当次循环中的后续代码,主要用于保持代码块的完整性。

6、python类

python也是面向对象编程的一种,所以python中也有类,所谓类就是用来描述同属性和方法的对象的集合,定义了该集合中每个对象所共有的属性和方法,对象则是类的实例。

6.1 类的创建

在python中使用class来创建一个类,以:结尾,需要了解以下知识:

  • 类变量:在创建类时定义的一些变量,叫类变量,可在此类的所有实例中共享,同时内部类和外部类也可对其访问。
  • _ init _():是类的初始化方法, 每创建一个类的实例时都会调用一次。
  • self:代表类的实例,在定义类的方法时必须要有的,但是在调用时不必传入参数。

案例如下:

class A:
    s = 0
    def __init__(self,name,num): 
        self.name=name
        self.num=num
        A.s+=1
    def function(self): #定义类方法时必须加self
        print("nihao")
stu1 = A("snow",'2016') #实例化一个变量,采用__init__中的参数类型进行赋值。
print(stu1.s)
stu1.function() #不用再写self        

6.2 类的继承

所谓继承就是定义一个类通过继承就可以获得另一个类的所有方法, 被继承的类就是父类,如果查找一个方法在当前类没有找到,判断是否为子类,如果是的话,就继续在父类中查找此方法。
案例如下:

class Parent:
    def __init__(self,name,num): 
        self.name=name
        self.num=num
    def print_name(self): #定义类方法时必须加self
        print("name is",self.name)
    def print_num(self):
    	print('num is',self.num)
    def set_num(self,num):
        self.num = num
class B(Parent):
    def __init__(self,name,num,school):
        self.name = name
        self.num = num
        self.school = school
    def print_school(self):
        print("school is",self.school)
stu = B("snow",'2022','anhui')
stu.print_school()
stu.print_name()
stu.print_num()
stu.set_num(2016)
stu.print_num()      
#输出为
school is anhui
name is snow
num is 2022
num is 2016

6.3 类的重写

当父类中的方法满足不了我们的需求时,我们可以对该方法进行重写。

class Parent:
    def __init__(self,name): 
        self.name = name
    def print_name(self): #定义类方法时必须加self
        print("name is",self.name)
class B(Parent):
    def __init__(self,name):
        self.name = name
    def print_name(self):
        print("chong xie le",self.name)
stu = B("name")
stu.print_name()
输出:chong xie le name

致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值