zoukankan      html  css  js  c++  java
  • python初识二

    格式化输出

       %为占位符

       在下面代码中可以看出,%s代表着字符占位符,此外%d代表数字占位符

    name = input('请输入姓名:')
    age = input("请输入年龄:")
    hobby = input("请输入爱好:")
    msg = '''
    ---------info of %s-----------
    Name:%s
    Age:%s
    Hobby:%s
    ''' %(name,name,age,hobby)
    print(msg)
    View Code

        要注意的是,Input的输入全是字符串,要想把字符串转化为数字,用int(),()里写想要转换的字符串即可,如:

    Age = input(">>>")
    age = int(Age)
    print(type(age))
    >>> <class 'int'>

       既然%为占位符,那想输出10%时怎么办呢?这时只用输入两个%%就行了,如

    msg = "我是%s,年龄%d,目前学习进度为80%%"%('haohao',22)
    print(msg)
    >>> 我是haohao,年龄22,目前学习进度为80%%

       既然写到输出了,顺便写下format(),format()的三种形式:

    name = input('请输入姓名:')
    age = input("请输入年龄:")
    hobby = input("请输入爱好:")
    #第一种方法,用{}做占位符
    msg1 = '''
    ---------info of {}-----------
    Name:{}
    Age:{}
    Hobby:{}
    '''.format(name,name,age,hobby)
    print(msg1)
    #第二种方法,用{1}、{2}、、、编号更加方便
    msg2 = '''
    ---------info of {0}-----------
    Name:{0}
    Age:{1}
    Hobby:{2}
    '''.format(name,age,hobby)
    print(msg2)
    #第三种方法,用{_name}、{_age}、、、这样在定义时更随意
    msg3 = '''
    ---------info of {_name}-----------
    Name:{_name}
    Age:{_age}
    Hobby:{_hobby}
    '''.format(_age = age,_name = name,_hobby = hobby)
    print(msg3)
    View Code

     初识编码

       Ascii码 起初是7位,设计时经考虑设计了8位用于扩展,但第8位全是0,一个Ascii码占一个字节

       unicode码 起初设计为所有字符都为16位,也就是两个字节,经升级后变为4个字节

       utf-8 英文、数字、特殊符号一个字节    ;  欧洲 2个字节  ;中文 3个字节

       1024byte == 1kb      1024kb == 1MB      1024MB == 1GB    1024GB == 1TB

    运算符

       算术运算符  +  、  -  、   *    、  /    、   **  、  //   、%

       比较运算符  >  、  <  、  !=   、<>   、  ==    、  >=   、  <=   

       赋值运算符  +=  、 -= 、 *=   、/=   、%=     、**=     、   //=

       逻辑运算符  and  、 or  、 not   三者优先级关系为  ()>not > and > or

      判断下列两组逻辑运算输出结果:

    print(3>4 or 4<3 and 1==1)
    print(1 < 2 and 3 < 4 or 1>2 )
    print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
    print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
    print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    View Code
    print(3>4 or 4<3 and 1==1)
    print(1 < 2 and 3 < 4 or 1>2 )
    print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
    print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
    print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
    View Code

       

    数据类型

      int :用于计算   eg:1,2,3    i.bit_length()   转换成二进制需要的位数      int(    1)=1 空格无效

        int -->str   str(123)                           ;               int -->bool   bool(0)=False  

      bool :用于判断语句  True  False

        bool --> int   int(True)=1     int(False)=0       ; bool -->str      str(False)='False'   

      str :字符串,存储少量数据进行操作  'asfaas'    

        str --> int   int('123')=123  only number OK   ;   str -->bool    s = ''   bool(s)=False   only str is empty ;others will turn to True ;  str -->list  slipt()  ;

      list:列表 ,用来存储大量数据   [2,3,4,'as','dsf',[2,5,6],'dd']

        list --> str   join()

      tuple:元组 ,只读列表  (1,2,3,'22',[3,4,5],('a',2,4),8)   

      dict : 字典 ,存储一些有关联的数据  {'name':'haoaho','age':16}

      集合:{1,5,6,'alex2','ss'}

    字符串操作

      索引与切片

    s = 'asdGHKJsdf'
    # 索引 字符串编号从0开始计数
    s1 = s[0]
    print(s1)
    # 切片 'asdG'
    s2 = s[0:4]  # 注意切片时顾首不顾尾
    print(s2)
    # 取全部字符串
    s3 = s[:]
    s4 = s[0:]
    print(s3,s4)
    # 切片时加入步长
    s5 = s[0::2]  # 隔一个取出一个字符
    print(s5)
    # 切片时可以倒着取,注意倒着取时也是顾首不顾尾,但首尾已经互换
    s6 = s[-1:-3:-1]  # s[-1]代表s的最后一个字符
    print(s6)
    View Code

      capitalize   首字母大写  

    s = 'haohao shuai'
    s1 = s.capitalize()
    print(s1)

      upper全部大写   lower全部小写   注:对字符串中的数字无效,可放心使用

    s = 'haohao Shuai'
    s2 = s.upper()
    s3 = s.lower()
    print(s2,s3)

      swapcase    大小写转换 

    s = 'haohao Shuai'
    s4 = s.swapcase()
    print(s4)

      title  被特殊字符隔开的字符首字母大写     注:数字也算特殊字符

    s = 'hao;hao1shuai'
    s5 = s.title()
    print(s5)

      center    默认居中,空白填充      注:括号里的参数20为填充的宽度,+为填充的符号   

    s = 'haohao Shuai'
    s6 = s.center(20,'+')
    print(s6)

      expandatabs 若字符串中有 ,在 前的字符补足8位或16位  

    s = 'haohao	Shuai'
    s7 = s.expandtabs()
    print(s7)

      startswith('$',m,n) / endswith('$',m,n)  是否以 '$ '为开头/结尾,True/False  startswith/endswith   (可以切片,顾头不顾尾)

    s = 'haohao Shuai'
    s8 = s.startswith('h')
    s9 = s.endswith('i')
    print(s8,s9)
    s8_1 = s.startswith('h',3,6)
    s9_1 = s.endswith('a',-5,-1)
    print(s8_1,s9_1)

      find('$')     index('$')    返回   ' $' 的索引(下标)  find  找到时返回索引,找不到返回-1        ;   index  找到时返回索引,找不到报错

    s = 'haohao Shuai'
    s10 = s.find('u')
    s11 = s.index('u')
    print(s10,s11)

      strip    删除字符串中的空格   (也可以自定义删除字符串中的什么字符)   注:从两边开始删除,碰到非删除元素时停止。

         另有     lstrip  从左边开始删除;rstrip  从右边开始删除     ps:   ' '代表转行

    s = ' +haohao Shuai '
    s12 = s.strip()
    s12_1 = s.strip(' +')
    print(s12,'
    ',s12_1)

      count('$',m,n)  计算字符 ' $'在字符串中出现了多少次   (可以切片,顾头不顾尾)

    s = 'haohao Shuai'
    s13 = s.count('h')
    s13_1 = s.count('h',0,5)
    print(s13,s13_1)

      split('$',n)   重点哦   以  ' $'  为界分割字符串,不写默认空格  可以把 str 分割成  list   还可以确认分割n次

    s = 'hao+hao Shuai'
    s14 = s.split()
    s14_1 = s.split('+',1)
    print(s14,s14_1)

      replace('a','b',n)  把字符串中 ' a' 全部替换为 ' b',替换n次

    s = 'haohao Shuai'
    s15 = s.replace('hao','h',1)
    print(s15)

      isalnum 判断字符串是否由字母数字组成   ; isalpha 判断字符串是否由字母组成 ;isdigit  判断字符串是否由数字组成

    s = 'haohaoShuai'
    s16 = s.isalnum()
    print(s16)

      公共方法:

      a=len(s)  s有几个字符(长度)

    列表的增删改查

      列表的增

                     ps:增后还是原列表,应该打印原列表

      append( '$' ) 在列表的最后增加 '$'

      insert( n , '$' ) 在列表的第n个位置增加 '$'

      extend( [1,2,3]) 在列表的最后迭代增加(分别增加每个元素)

    li = [1,2,'haohao',[3,4,5,'xingcing'],'huahua','qiange']
    li.append('anshao')
    print(li)
    li.insert(2,3)
    print(li)
    li.extend([1,2,'fengla'])
    print(li)
    li.extend('haha')
    print(li)

      列表的删  

      s = pop(n)  删除列表第n个元素(从0开始),返回值为删掉的元素,不写索引则默认删除最后一个元素

      remove('a')  删除列表中的  'a'

      clear   清空列表

      del li 删除列表     del li[2:] 可以切片删除

    li = [1,2,'haohao',[3,4,5,'xingcing'],'huahua','qiange']
    li.pop(-1)
    print(li)
    li[3].remove(3)
    print(li)
    li[3].clear()
    print(li)
    del li[0:2]
    print(li)

      列表的改

      直接赋值法 

    li = [1,2,'haohao',[3,4,5,'xingcing'],'huahua','qiange']
    li.[2] = 'hh'
    print(li)

      切片迭代填充   ps:把切片的删掉,进行迭代填充

    li = [1,2,'haohao',[3,4,5,'xingcing'],'huahua','qiange']
    li[0:1] = 'anshao'
    print(li)

      列表的查

        同字符串 li[0]=.....

      列表的排序

    li = [1,4,6,3,5,2]
    #列表反转
    li.reverse()
    print(li)
    #列表的排序 若是字母,则按照ASCII码排序
    li.sort()
    print(li)
    #倒序排序
    li.sort(reverse = True)
    print(li)

      列表的嵌套

    li = ['haohao','anshao',['qiange','huahua'],'xinghui']
    print(li[2][1])
    li[2][1]=li[2][1].upper()
    print(li)

      公共方法:

        l = len(li)    列表长度(元素个数)

        li.count('a')   'a'出现在列表中的次数  可以切片

        列表的索引only  index()

        join   可以把列表转化为字符串    ps:不能对int类型使用

    li = ['haohao','xingcing','huahua','qiange']
    s = ",".join(li)
    print(s)

        

  • 相关阅读:
    联考20200725 T1 String
    联考20200723 T1 数
    联考20200722 T3 积木
    联考20200722 T2 ACT4!无限回转!
    联考20200722 T1 集合划分
    联考20200721 T2 s2mple
    联考20200721 T1 s1mple
    联考20200719 T2 寻找规律
    联考20200719 T1 合并奶牛
    联考20200718 T2 树论
  • 原文地址:https://www.cnblogs.com/xfdhh/p/9757298.html
Copyright © 2011-2022 走看看