zoukankan      html  css  js  c++  java
  • python基础杂记

    一.编码

    1.ACSII                        0000 0001           8位       一个字节

    2. uncoide                    0000 0001   0000 0001   0000 0001  0000 0001         32位       四个字节

    3.utf-8             英文      0000 0001           8位       一个字节

           中文      0000 0001  0000 0001  0000 0001         24位        三个字节

    4.gbk              英文     0000 0001            8位       一个字节

                           中文     0000 0001  0000 0001      16位        两个字节

    **(文件存储,传输不能使用uncoide编码(太占空间))

     (可以使用 ASCII,utf-8,gbk等等)

    5.python3中

        str类型:使用 uncoide编码

                   byte类型:使用其他类型编码

      str类型与byte类型的区别:(当字符是英文时)

    a='alex'
    b=b'alex'
    print(a,type(a))
    print(b,type(b))
    
    
    #alex <class 'str'>
    #b'alex' <class 'bytes'>

      当字符时中文时将str类型转换为其他类型编码

    b='中国'
    b2=b.encode('utf-8')
    print(b2)
    
    
    
    #b'xe4xb8xadxe5x9bxbd'

    二. 小数据池

      数字(-5--- 256)与字符串(不能有特殊字符)    

     其他像列表,元组,字典都不行

    a='alex'
    b='alex'
    print(a is b)
    
    #True
    
    a=12
    b=12
    print(a is b)
    
    
    #True
    a=[1,2]
    b=[1,2]
    print(a is b)


    #False
    #a 和 b 的内存地址不一样

    
    

       但是任何类型利用“=”赋值时如下:

    a=[1,2,3]
    b=a
    print(a is b)
    
    
    #True
    
    a={'a':1}
    b=a
    print(a is b)
    
    
    #True

    三.运算符(面试题)

          

    #  x  or  y  x为真时,返回x
    #  x and  y  x为真时,返回y
    print( 5 > 4 or 1 )     #Ture
    print( 0   or   4 )     #4
    print( 0   and  4 )     #0
    print( 5>4 and  1 )     #1
    print( 5<4 and  1 )     #False

     四 .字符串常用方法。

    #数字符串中的元素出现的个数。
    # ret3 = a1.count("a",0,4) # 可切片
    # print(ret3)
    
    a4 = "dkfjdkfasf54"
    #startswith 判断是否以...开头
    #endswith 判断是否以...结尾
    # ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
    # print(ret4)  # 返回的是布尔值
    # ret5 = a4.startswith("kfj",1,4)
    # print(ret5)
    
    #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
    # ret9 = 'title,Tilte,atre,'.split('t')
    # print(ret9)
    # ret91 = 'title,Tilte,atre,'.rsplit('t',1)
    # print(ret91)
    
    #format的三种玩法 格式化输出
    res='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #strip
    name='*barry**'
    print(name.strip('*'))
    print(name.lstrip('*'))
    print(name.rstrip('*'))
    
    #replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    
    #####is系列
    name='taibai123'


    print(name.isspace()) #字符串由空客
    print(name.isdigit()) #字符串只能有数字组成 print(name.isalnum()) #字符串由字母或数字组成 print(name.isalpha()) #字符串只由字母组成 print(name.isdecimal()) #字符串只由十进制组成 #############下面这些方法在数据类型补充时会讲到,现在不讲#################### #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6) # print(ret61) # 返回的找到的元素的索引,找不到报错。 #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2)

    四.文件操作

      rb:能打开所有文件(非文字文件 。例如:图片,视频。。。)

      w:只写

    f=open('xiaomeng','r',encoding='utf-8')   #相对地址
    #f=open('D://xiaomeng','r',encoding='utf-8')   #绝对地址
    content=f.read()
    print(content)
    f.close()

      r :只读(会覆盖原来文本中的文字)

    f=open('xiaomeng','w',encoding='utf-8')
    f.write('大帅逼')
    f.close()

      a:追加

    f=open('xiaomeng','a',encoding='utf-8')
    f.write('大傻逼')
    f.close()

      (r+     w+    a+ )都不常用

      tell():告诉光标位置

           seek():调光标(从哪里开始读)

    f=open('xiaomeng','a+',encoding='utf-8')
    a=f.seek(9)             #一个中文占3个字节,一个英文占1个字节 (9是字节数)
    content=f.read(a)
    print(content)
    f.close()

      os.remove(文件名):删除文件

           os.rename(新文件名,旧文件名)重命名

            

  • 相关阅读:
    arm-linux-gcc编译时出现stray '357''273' '277' in program的解决方法
    C#中dynamic的正确用法
    C# 利用反射调用类下的方法
    C# 如何利用反射,将字符串转化为类名并调用类中方法
    将string转为同名类名,方法名。(c#反射)
    MethodInfo类的一般使用
    easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值
    [收集] 各式各样的 无限级分类 的数据库设计方案
    JavaScript随机生成信用卡卡号的方法
    C#中Invoke的用法
  • 原文地址:https://www.cnblogs.com/wm0217/p/10786532.html
Copyright © 2011-2022 走看看