zoukankan      html  css  js  c++  java
  • Python基础知识(3)

    1:字符串类型转换

     

    1 num = 100
    2 
    3 num2 = "100"
    4 
    5 #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢?
    6 
    7 int(num2)  #int 整形成整数
    8 
    9 str(num)  #转换成字符串

    2:组成字符串的两种方式

     1 #This One
     2 
     3 a = "lao"
     4 b = "wang"
     5 c = "zhao"
     6 
     7 #如果我们想打印 “laozhao”和“laowang”改如何打印
     8 
     9 d = a + b   #这样打印d的结果是:laowang
    10 e = a + c   #这样打印e的结果是:laozhao
    11 
    12 #如果我们想打印 “===laowang===”
    13 
    14 f = "===" + a + b + "==="
    15 
    16 #这样是不是很麻烦
    17 
    18 #This Two 我们试试第二种方法
    19 
    20 g = "===%s==="%(a+b)

     3:字符串中的下标

     字符串的下标是什么呢?就像我们去坐火车每一节车厢的座位号,这个及就类似于我们的下标

    我们定义一个字符串,name = “ABCEDF” , 里面的adcdef就类似于座位号,每一个字符都有一个下标,注意Python的下标是从0开始计算的,我们来看

    中括号里面的数值,我们称之为下标

     

    如果你想打印一个变量里面的最后一个字符,那请问你如何获取变量里一共写了多少字符?

    len :测试长度

    比如 : 测试name的变量      len(name)

    如何获取变量中最后一个字符呢?

    name[-1]  

     4:切片、字符串的逆序

    切片:取一片内容。就像一块羊肉,切一片的意思。

     

    注意:切片的取值,取不到截至点的值,只能取到截至点前的一位数字

    如果你冒号后面没有写截至点的话,那就默认显示后面所有的字符,我们来试试

    如果我们想从第二个数字取到倒数第二个数字,我们应该如何操作?

     假如我想取  name = "abcdefABCDEF" 中 ceACE我该如何操作,就是我跳着取值该如何操作?

    语法为 :name[起始位置:终止位置:步长]

    我们在来说说逆序,也就是倒序

    上面的方法也可以写成:

    我怎么去判断,冒号前面是从左边开始切片,还是右边呢?就看后面的步长,如果是 -1的话,冒号的左边变成了右边,而冒号的右边变成了字符串的最左边。

    5:字符串的常见操作

    find : 查找

    比如:我们写一个字符串

    6是什么意思呢 ? 指查找的内容在字符串的第几位,从0开始world的w是在6位

    我输入错误的时候,为什么程序也会显示出来。如果找到了就会显示出位置数,如果不是,那就显示-1,找不到信息就显示 -1.

    运行find的时候,找的顺序就是从左边开始找,那如果我们想从右边也就是后面开始找的话, 那我们该怎么写?

    index也是索引的意思,也可以用来查找,但是唯一不同的是,find查找不到也会返回信息,index查找不到无法返回信息。除了找不到的时候功能显示不一样,其他的都一样。

       count:查看在字符串中该字符一共出现几次

      

      replace:替换字符串中的字符。相当于replace的返回值,愿字符串不变

     

    我们再来试一次

     那如果我们只想修改一个呢?,后面的1表示个数,你想修改的个数是几。

     

     split:切割 

      我们把name变量里面的字符串用split来分割,按照空格来切割

    capitalize:把字符串的第一个字符大写

    title:把所有字符串的首字母大写

    startswith:检查输入的信息是否与字符串的开头相同,如果相同就返回True,如果不是就返回False

    endwhith:检查输入的信息是否与字符串的末尾相同,如果相同就返回True,如果不是就返回False

    lower:把字符串中所有的大写字符串成小写

    upper:把字符串中所有的小写字符串成大写

    ljust:靠左居中

    rjust:靠右居中

    center:居中显示,居中的长度用户自己定义,center(50),前后各50

    lstrip:删除左边的空白字符

    rstrip:删除右边的空白字符

    strip:删除两端的空白字符

    rfind:类似于find()函数,不过是从右边开始查找

    rindex:类似于index()函数,不过是从右边开始查找 

    partition:讲字myStr字符串中的,willam前,willam,和willam后分为三段显示出来

    可以自己尝试在里面放置两个同样的字符,用partition和rpartition来看看什么效果

     splitlines:按照行分隔,返回一个包含各行作为元素的列表

    isalpha:判断是否为字母

    isdigit:判断是否为数字

    isalnum:判断是否为字母和数字

     isspace:判断是不是纯空格,如果是返回True,如果不是返回False

    join:构建一个新的字符串

     6:列表

    如果我们想把公司的任意一个人定义成一个变量,是没问题的,那我们想把每个部门的每个人都定义呢,也可以这样做,那会比较麻烦,这样用列表就比较简单了

     那我们应该如何对列表进行 增删改查?

    我们先来说添加一个名字到列表里

    语法 : append

    那如果我们想在指定位置插入一个名字呢?

    语法:insert。前面的0代表你想插入的位置,后面的威廉,代表你想插入的姓名

    append和insert的区别是一个只能在最后插入字符,一个是可以在任何位置插入字符

    我们再说一个插入字符的方法

    还有没有其他办法 ?

    语法:extend

    我们再来说说如果删除列表的内容

    pop():删除列表中的最后一个,把列表中的最后一个字符拿出来,相当于删除

    如果我们想删除里面的任意一个名字的时候,我们该如何操作?

    语法:remove。根据内容来删除

    还有一种方法和remove差不多。

    语法:del。根据下标来删除

    说完删除我们在来说说如何更改内容

    如果我们进行查询的话,该怎么操作

    语法:in  或  not in

     7:字典

    什么是字典?字典其实和变量和列表都是一样的,来存储内容,只不过语法不一样

    字典是: infor = {键:值,键:值,键:值}

     字典如何增删改查呢?

    1、增加一个Key:Value

    #先定义一个字典
    infor = {'name':'willam','age':18,'addr':'Henan'}
     
     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan'}
     
    #下面的命令事进行添加一个值
    infor['QQ'] = 10086 
    infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
     

    2、修改字典的信息

     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10086}
    #字典里面已经有一个QQ信息了,我们再来输入一个试试
     infor['QQ'] = 10010
     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
    #如果字典里面已经存在你要添加的值,会变成修改字典内该值

    3、删除字典信息

     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan', 'QQ': 10010}
     
    #del 删除字典内信息,我们先来删除QQ看看效果
     del infor['QQ']
     
     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan'}
    
    #再次查看字典,QQ已经没了,我们想再次删除QQ试试。报错了,如果字典内没有你想删除的信息,就会报错
     del infor['QQ']
    Traceback (most recent call last):
      File "<pyshell#47>", line 1, in <module>
        del infor['QQ']
    KeyError: 'QQ'

    4、查询字典信息

     infor
    {'name': 'willam', 'age': 18, 'addr': 'Henan'}
     
     #和列表差不多,我们根据字典内的key来进行查找信息
     infor['name']
    'willam'
     infor['age']
    18
    #但是如果我们输入的值没有的话,他就会报错,怎样查看这个值是否存在在字典内而不报错呢?
     infor['QQ']
    Traceback (most recent call last):
      File "<pyshell#56>", line 1, in <module>
        infor['QQ']
    KeyError: 'QQ'
    #这样写就不会报错了
    infor.get('QQ')
     
     infor.get('name')
    'willam'
     infor.get('age')
    18
     

    字典的增删改查:

    #增加
    
    xxx['Key'] = Value
    
    #删除
    
    del xxx['key']
    
    #修改
    
    xxx[已存在的key] = new_value
    
    #查询
    
    xxx.get('key')

    8、While、For循环遍历列表

    #while 循环遍历
    num = [11,22,33,44,55]
    
    i = 0
    
    while i<5:
           print(num[i])
           i += 1
    
    #for 循环遍历
    
    num = [11,22,33,44,55]
    
    for temp in num:
        print(temp)
    
    #如果num里面包含很多很多的数值的时候,我们可以这样操作
    
    num = [11,22,33,44,55,66,77,88,99,10,111,222,333,444,555]
    
    i = 0
    
    temp_num = len(num)
    
    while i<temp_num:
        print(num[i])
        i += 1

    9、for-else的应用

    card_name = [{'name':'老王','age':18,'addr':'河南'},{'name':'老李','age':20,'addr':'河南'}]
    
    
    
    find_name = input("请输入你需要查找的姓名:")
    
    for temp in card_name:
        if temp['name'] == find_name:
            print("找到了...")
            break
    else:
        print("查无此人")

    10、列表的append、extend区别

    #extend
    a = [11,22,33]
    b = [44,55]
    
    a.extend(b)
    
    print(a)
    
    [11, 22, 33, 44, 55]
    
    #append
    a = [11,22,33]
    b = [44,55]
    
    a.append(b)
    
    print(a)
    
    [11, 22, 33, [44, 55]]
    
    #append是把整个列表都添加进去,而extend是把列表里的值一个一个的添加进去,所以要区分开来。一个事整体添加,一个是合并。

     11、字典的常见操作、遍历

     1 infor = {'name':'willam','age':18,'addr':'Henan'}
     2 
     3 #我们使用xxx.keys()可以查看字典内包含了多少key
     4 
     5 infor.keys()
     6 dict_keys(['name', 'age', 'addr'])
     7 
     8 #同样的方式,我们也可以进行value的查询
     9 
    10 infor.values()
    11 dict_values(['willam', 18, 'Henan'])
    12 
    13 #我们也可以使用if进行查询有没有该信息,当然infor.get('')也是可以的
    14 
    15  
    16  if 'qq' in infor.keys():
    17     print("有QQ信息")
    18 
    19     
    20  if 'name' in infor.keys():
    21     print("有name信息")
    22 
    23     
    24 有name信息
    25  if 18 in infor.values():
    26     print("")
    27 
    28     
    29 30 
    31 #我们可以用以下命令来查看infor字典内所有的key
    32 for temp in infor.keys():
    33     print(temp)
    34 
    35     
    36 name
    37 age
    38 addr
    39 #用一下命令来查看infor字典内所有的value
    40 for temp in infor.values():
    41     print(temp)
    42 
    43     
    44 willam
    45 18
    46 Henan
    47 #items查看字典内所有的key和value,注意输出的结果是元祖
    48  infor.items()
    49 dict_items([('name', 'willam'), ('age', 18), ('addr', 'Henan')])
    50 
    51  for temp in infor.items():
    52     print(temp)
    53 
    54     
    55 ('name', 'willam')
    56 ('age', 18)
    57 ('addr', 'Henan')
    58 #这样写更美观点
    59  for temp in infor.items():
    60     print('key=%s,value=%s'%(temp[0],temp[1]))
    61 
    62     
    63 key=name,value=willam
    64 key=age,value=18
    65 key=addr,value=Henan
    66  
    67 #下列的操作是:拆包,把元祖内的值拆开分给c,d
    68  a = (11,22)
    69  
    70  b = a
    71  
    72  b
    73 (11, 22)
    74  
    75  c,d = a  #先计算等号右边,a的值第一个分配给左边的c,第二个分配给左边的d,依次往后推,这种方式叫作 拆包
    76  
    77  c
    78 11
    79  d
    80 22
    81 #我们再来修改下上面的items去里面的值
    82 
    83  for A,B in infor.items():
    84     print("key=%s,value=%s"%(A,B))
    85 
    86     
    87 key=name,value=willam
    88 key=age,value=18
    89 key=addr,value=Henan
    View Code
  • 相关阅读:
    贝叶斯分类
    K-Means算法
    python数组
    深度学习与神经网络
    数据挖掘算法之-关联规则挖掘(Association Rule)
    k8s记录-pip源配置
    k8s记录-yum本地仓库部署
    k8s记录-不同集群服务互联
    k8s记录-kube-dns(core-dns)配置(七)
    k8s记录-kubectl常用
  • 原文地址:https://www.cnblogs.com/willamwang/p/7708504.html
Copyright © 2011-2022 走看看