Python知识点

Python的数据类型:

布尔,字符,数字,元组—>他们的值不能发生变化,所以不能进行++或--的操作,若发生了改变,是地址变了

列表,集合,字典,类   —>值可以发生变化。

举例说明:

1.数字

a=5
a=a+1                        
b=5
print(id(a))
print(id(b))      
2.1字符
vstr1='hello'
print(id(vstr1))
vstr1=vstr1*2
print(id(vstr1))  
2.2字符(三个双引号或者三个单引号,都会保留文档的格式)

vstr1="""python
klagl
    dljfld
            dslkdaj"""
print(vstr1)

2.3字符串(按下标范围进行输出)

[] : 下标从零开始,表示第一个字母;(ps:空格也算一个字符)

[0:4] : 下标从零开始到下标为4(不包含下标4)结束 。 与  [:5] 表示的意思一样

[6:] : 表示从下标为6的字符开始,一直到最后

[len(strl)-3] : len(strl)减几,就从整个字符串的倒数第几个字符开始,一直到最后

[-3:] : 与[len(strl)-3]表示的意思一样

[-4:-2] : 表示从整个字符串倒数第4个字符,到倒数第2个字符(不包含)结束

str1='hello world'
s=str1[0]   		
#[0]、[0:4]、[6:]、[:5]、[len(str1)-3:]、[-3:]、[-4:-2]
print(s)


也可以使用for循环:

for s in str1[-5:]:
    print(s)

3.1元组

ar=(1,'a',3,4)
for i in ar:
    print(ar)
3.2元组(后面加上‘ *3’ ,表示ar元组的个数等于元素个数乘以3,切一个元组中的元素每个元素出现三次)

ar=(1,'a',3,4)*3
for i in ar:
    print(ar)

3.3元组([]截取字符串)

ar=(1,2,3,4,5,6,7,8)
ar=ar[2:5]
print(ar)

4.列表(推到算法)

la1=[1,2,3]
la2=[4,5,6]
#rs=[x*y for x in la1 for y in la2]
rs=[[x,y,x*y] for x in la1 for y in la2]
print(rs)  					
5. 两个**为次幂,两个//为取整数,一个/为无论是否能够整除都是小数
a=5
a=a**3
b=5
b=b//2
b=b/2
print(a)
print(b)
6.divmod() : 表示第一个数除以第二个数,得到的值是一个元组,元组的第一个值是商,第二个值是余数

c=divmod(7,2)
print(c)     

7.集合与迭代器合用:无序不可重复,  与元组和列表不同,元组和列表可以储存重复数据并记录其顺序

比较1:

#元组定义
yz=(2,2,2,3,4)
#获取迭代器
ii=iter(yz)
print (next(ii))   //next()输出下一个
比较2:

#列表定义
ar=[2,2,2,3,4]
#获取迭代器
ari=iter(ar)
for i in ari:
    print(i)
比较3:
#集合定义
set1={2,2,2,3,4}
#set1.pop() #默认删除最后一个
# #获取迭代器
it=iter(set1)
print(next(it))
print(next(it))
print(next(it))       #最后输出结果为 2  3  4

8.1定义字典

可以使用[] 以键找值,也可以使用get()方法 一键找值,get()方法还可以添加默认值

dl={'cn':'中国','en':'英国','us':'美国'}
print('us --> ',dl['us'])
print('cn --> ',dl.get('cn'))
print('no fr --> ',dl.get('fr','字典中没有,你是不是要取法国'))

8.2删除字典的两种方法,,且,删除前后字典地址不会发生变化

dl={'cn':'中国','en':'英国','us':'美国'}
print(id(dl))#打印地址
#两种删除方法
del dl['us']
dl.pop('en')
print(len(dl))
print(id(dl))

9.字典的综合案例

要求:统计控制台输入的字符串中每一个字符出现的次数。

第一种方法:按key 进行排序

zf=input('输入字符串\n')
tongji={}
for s in zf:
    if s in tongji:
        tongji[s]=tongji[s]+1     #abc bd abc.cac  第2个b已经在tongji字典中出现过一次,所以第2个b要加1
    else:
        tongji[s]=1               #第1次出现的d不存在于tongji字典中,所以d出现1次

for key in sorted(tongji):	  #排序sorted()
    print(key,'共出现',tongji[key],'次')

第二种方法:按value值进行排序,使用lambda进行遍历

key=lambda item:item[i]  其中item是iter()迭代器的返回值  ,key是sorted()函数中的关键字

如:it=iter(tongji)

print(next(it))     next()的返回值为item

items()函数以列表 返回可遍历的(键,值)元组数据

print (tongji.items())

zf=input('输入字符串\n')
tongji={}
for s in zf:
    if s in tongji:				
        tongji[s]=tongji[s]+1
    else:
        tongji[s]=1

#iter();生成键值为元组的一组数
for value in sorted(tongji.items(),key=lambda item : item[1]):
    print(value[0],'共出现',value[1],'次')

第三种方法:按value值进行排序,使用lambda进行遍历,reverse的默认值为False,正序排列

zf=input('输入字符串\n')
tongji={}
for s in zf:
    if s in tongji:
        tongji[s]=tongji[s]+1
    else:
        tongji[s]=1
for key in sorted(tongji.items(),key=lambda item : item[1],reverse=True):
    print(key[0],'共出现',key[1],'次')

第四种方法:items()方法,,返回 列表里面套元组模式,如:[(),(),()...]

zf=input('输入字符串\n')
tongji={}
for s in zf:
    if s in tongji:
        tongji[s]=tongji[s]+1
    else:
        tongji[s]=1
for key1 in sorted(tongji.items(),key=lambda x:x[0],reverse=True):#lambda后面的 x 代表列表里面每一个元组, 冒号后面的x[0]表示元组中key,如果是x[1]位value
    print(key1[0],'共出现',key1[1],'次')



python中动态传参:


def sum(*args):
    sum=0
    for n in args:
        sum+=n
    return sum
print(sum(1,2,3,4))

def sum(*args):
    sum='';
    for n in args:
        sum=sum+str(n)
    return sum
print(sum(1,2,'hi',4))

#end='<>'或 end=' '都表示不换行,end='\n'表示换行

例如:
print('你好hello python3.6',end='<>')
print('你好hello python3.6',end='\n')
print('你好hello python3.6',end=' ')













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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值