python基础部分学习

#-- coding:utf-8-
‘’’
python基础语法:赋值,计算,字符串拼接
‘’’
a=2;
b,c,d=1,2,3
print(a,b,c,d);
print(“hello,world”)#z注释行
#注释行
‘’’
多行注释
,

‘’’
print(‘z中国’)
print (“你好,中国”)
e=a**2
print(e)
f=‘love china’
f=f+’ very much’
print(f)
g=f.split(‘v’)#将s以v分割,得到列表,然后赋值给g
print(f)
print(g)

‘’’
python判断、循环
‘’’
if ab:
print(‘a=b’)
elif a
c:
print(‘a=c’)
else:
print(‘a与bc不相等’)
‘’’
循环语句while、for
‘’’
k: int
s=k = 0
while s<101:
k=k+s
s = s + 1
print(s,k)
print(s,k)
‘’‘for循环’’’
j=0;
for i in range(0,101,1):
j=j+i
print(j,i)

‘’‘python 定义函数def’’’
def sss2(x):
return x*x
print (sss2(100))#注意问题,版本为3.0 print必须要用(),2.0可以用括号也可以不用括号。

def add2(x,y):
return[x+2,y+2],x+3,y+4
x=add2(1,3)
print(x)
‘’’
lambda快捷定义函数,同MATLAB行内函数
‘’’
l=lambda x:x2#定义函数 l(x)=x2
print(l(100))
m=lambda x,y,z:x2+y2+z**2
print(m(2,2,2))
‘’’
数据结构:list列表 tuple元组 dictionary字典 set集合
‘’’
‘’’
#定义列表的形式,直接用[],不要用 n=list[1,‘a’,[1,2,3,‘5’]],list是个函数,可以列表操作。
list() 将元组转化为列表
‘’’
n=[1,‘a’,[1,2,3,‘5’]]
print(n[1])
o=(2,23,3,4,5)#定义元组o
p=list(o)
print§
p[0]=‘pick’
print§
r=tuple§#利用元组函数,把P转化为元组
print(r[0])#元组下标引用还是用[],和list一样,而不是用();
‘’’
列表\元组常用函数
cmp(p,r)比较列表中的元素,python3.x中已经不存在cmp函数,需要
len§获取列表中元素的个数
max(),min(),sum(),元素最大最小值以及求和。
sorted§对元素进行升序排列
‘’’
import operator#cmp(p,r)比较列表中的元素,python3.x中已经不存在cmp函数,需要operator模块调用方法。
s=operator.eq(p[2],p[3])
print(s)
print(len§)
print(sorted(o))#排序输出的结果是列表形式;虽然o是元组。
‘’’
列表list自带的一些方法,元组tuple相对少一些。
‘’’
p.append(100)#在列表p结尾追加一个元素,是一个过程,无返回值或none,不能用t=p.append(100),print结果是none
print§#输出结果已追加成功
print(p.count(3))#p.count(3)有返回值,是3在列表中出现的次数
p.extend([3,2,1])#在结果追加一个列表,同样也是无返回值,print(p.extend([1,1,1]))不能,返回值是none。
print§
print(p.index(100))#找出p中100的索引位置,有多个重复值,索引值是第一个100的索引位置。有返回值。
p.insert(2,‘q’)
print§#在指定索引位置2处,插入元素,无返回值。print(p.insert(2,‘q’)),none
p.pop(2)
print§#移除指定位置的元素,同样无返回值
‘’’
列表解析功能
‘’’
u=[1,2,3]
v=[]
for i in u:
v.append(i+2)
print(u)
print(v)
w=[i+2 for i in u]
print(w)
‘’’
字典;自定义key,和value;下标不在是0开头,自定义下标,用key,
#格式注意,
1、元素之间用逗号,不要用分号;
2、key格式,如果是字符串形式要用’‘引号;如果是数值形式,不需要,
3、key与value之间用:冒号。
4、下标引用,还是[]表示,例如x.[‘today’],下标的格式一样,字符串依旧要用引号,数值型的不需要。
‘’’
x={‘today’:100,‘tomorrow’:2000,1:300}#创建基本方法
print(x)
print(x[‘today’])
print(x[1])
‘’‘其他简洁的创建方法’’’
y=dict.fromkeys([1,2,3,4],[‘q’,‘w’,‘e’,‘r’])
#输出结果{1: [‘q’, ‘w’, ‘e’, ‘r’], 2: [‘q’, ‘w’, ‘e’, ‘r’], 3: [‘q’, ‘w’, ‘e’, ‘r’], 4: [‘q’, ‘w’, ‘e’, ‘r’]}
#[][]之间用逗号,用冒号:会报错,不符合语法。
print(y)
‘’’
集合的用法,概念同数学中的集合,
特点:
1、元素无重复,无序,
2、没有下标索引
‘’’
s={1,2,3,3,4,4}#构建方式,直接赋值;重复部分自动过滤,
s=set([1,1,2,3,])#利用set函数,将列表等转换为集合
‘’’
函数式编程,泛函编程;四个函数 lambda(),map(),reduce(),filter()
map()函数介绍:map() 会根据提供的函数对指定序列做映射。语法map(函数,指定序列),对序列中的每一个元素进行映射。

def square(x) : # 计算平方数
… return x ** 2

map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
[1, 4, 9, 16, 25]

map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]

提供了两个列表,对相同位置的列表数据进行相加

map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

‘’’
z=map(lambda x: x+2,u)#虽然已经有列表解析w=[i+2 for i in u]可以实现,但是还是for循环,效率会很低,map效率高一些。
z=list(z)#python3.x需要这一步,
print(z)

‘’’
reduce()函数,同map(),

def add(x, y) : # 两数相加
… return x + y

reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5
15

reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数
15
‘’’
#Python3 统计某字符串重复次数:
from functools import reduce #python3.0不能直接运行,需要导入
sentences = ['The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular. ‘]
word_count =reduce(lambda a,x:a+x.count(“learning”),sentences,0)#0是初始值,是可给a的,因为sentence中元素只有一个,所以。
print(word_count)
print(sentences.count(‘learning’))#是对整个列表,进行元素统计,列表中只有一个元素,是句子。需要对句子中字符串中进行重复统计。
#print(sentences[0].count(‘learning’))#count函数可以对列表内元素应用,也可以对字符串内部使用。
#前提还是reduce()函数,educe() 函数会对参数序列中元素进行累积。
#函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果
‘’’
filter()函数
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
语法:filter(function, iterable)
function – 判断函数。
iterable – 可迭代对象
#过滤出序列中的所有奇数:
def is_odd(n):
return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)#python3.x需要该步骤,返回的是迭代器对象,而不是直接的序列,2.0不需要
print(newlist)
#python2.x中
#!/usr/bin/python

-- coding: UTF-8 --

def is_odd(n):
return n % 2 == 1

newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)

‘’’
#过滤出1~100中平方根是整数的数:
import math
def is_sqr(x):
return math.sqrt(x) % 1 == 0

tmplist = filter(is_sqr, range(1, 101))
newlist = list(tmplist)
print(newlist)
tmplist2=filter(lambda x:math.sqrt(x)%1==0,range(1,101))#采用隐藏函数的使用,减少定义函数的环节。判断条件是一样的
print(list(tmplist2))
‘’’
库的导入与添加
‘’’
help(‘modules’)
‘’’
导入包,安装完pip后,配置pip环境变量,cmd可以直接调用pip执行,不需要再cd到文件路径下面。
pip intall numpy;pip install pandas;
‘’’
‘’’
‘’’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值