学无止境

少年辛苦终身事,莫向光阴惰寸功。——唐·杜荀鹤《题弟侄书堂》


计算机基础

计算机中的储存单位


  • sys.getsizeofpython在sys没款中提供函数sizeof来计算python对象的大小
  • 以字节(byte)为单位返回对象大小
  • 数据存储是以10进制表示,数据传输是以2进制表示,所以1KB不等于1000B
  • 1kb=1024b;1m=1024kb=1024*1024b
  • 其中1024=210
  • ==1B(byte,字节)=8bit(二进制)==
  • 1kb(kibibyte 千字节)=1024B=2^10b
  • 1Mb(mebibyte兆字节,百万字节简称兆)=1024KB=2^20B
  • 1GB(Gigabyte 吉字节十亿字节又称千兆)=1024MB=2^30b
  • 1TB(terabyte万亿字节太字节)=1024GB=2^40b
  • 1EB(Exabyte佰壹壹字节拍字节)=1024GB=2^50B
  • 1EB(Exabyte,百亿亿字节,艾字节)=1024PB= 2^60 B
  • 1ZB(Zettabyte,十万亿亿字节,泽字节)= 1024EB= 2^70 B
  • 1YB(Yottabyte,一亿亿亿字节,尧字节)= 1024ZB= 2^80 B
  • 1BB(Brontobyte,一千亿亿亿字节)= 1024YB= 2^90 B
  • 1NB(NonaByte,一百万亿亿亿字节) = 1024 BB = 2^100 B
  • 1DB(DoggaByte,十亿亿亿亿字节) = 1024 NB = 2^110 B
  • 一个字节的最大值为255
  • int在python2(24字节)与python3(28字节)中式不一样的长度
  • 一个字节可代表一个字元(AZ)、数字(09)、或符号(,.?!%&+-*/)
  • 每个中文字则须要两bytes
  • 1 Byte = 8 Bits
  • 1 KB = 1024 Bytes
  • Kbps中的含义是:每秒能够传递多少次1024个二进制位数
  • B/S的含义就是:每秒传递多少字节数据
  • KB/S的含义就是每秒传输多少千字节数据,也就是多少KB数据
  • 实际应用中网速大约要减去30%的网络损耗

  • 函数


  • python中==Len()==方法返回对象(字符,列表。元组,字典等)长度或者项目的个数
  • python中字符串也可以拼接单数数字++会相加++
  • format()的使用

  • 通过对象的下标进行替换,也可以通过对象的关键字进行查找替换
  • list是一个列表list(1,2,3)format(list)可以通过下标来进行映射替换
  • 切片是指对操作的对象截取其中一部分的操作
  • ==切片的语法:[起始:结束:步长]==注意:选取的区间是左闭右开型包含起始位置但不包含结束位置不写就是默认为1

  • 逆序(面试题)


  • name[0:]顺序
  • name[-1:]最后一个
  • name[-1:0]空
  • name[-1:0:-1]从后置前不包括第一个
  • name[-1::1]从后到前
  • name[::-1]逆序
  • ==小节==
  • [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
  • [start:] 从start 提取到结尾
  • [:end] 从开头提取到end - 1
  • [start:end] 从start 提取到end - 1
  • [start🔚step] 从start 提取到end - 1,每step 个字符提取一个
  • [::-1]逆序

  • 字符串中常见的函数


  • !# 必须掌握下面的函数
  • .find(str)检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
  • ====find====是从左往右==rfind==是从右往左
  • ==find(str,start,end)==
  • .index(str,start,end)与find作用一样只不过找不到会报错
  • .rindex从右往左查找
  • .replace替换但是不会改变替换的本身需要重新赋值给本身才会改变
  • split以 str 为分隔符切片 mystr,如果maxsplit有指定值,则仅分隔 maxsplit 个子字符串
  • ==mystr.split(str=" “, maxsplit)== str代表以什么进行切割==分隔符不会保留==maxsplit代表切割次数切割过后形成一个列表
  • 切割产生一个新的对象列表
  • partition把对象以XX分割为三部分前,自身,后
  • 分隔符依然会保留分割后产生一个新的元组
  • rpartition从右面开始
  • splitlines返回一个列表如果里面有换行符会自动切割
  • startswith检查字符串是否以什么什么开头是返回true不是返回false
  • endswith检查字符串是否以什么什么结尾
  • lower将所有大写转换为小写 列表不能使用
  • upper将小写转换为大写 列表不能使用
  • lstrip删除左边的空白字符
  • rstrip删除末端的空白字符
  • strip删除左右两端的空白字符
  • count(str,strat,end)返回一个数在某个区间出现的次数

  • 判断


  • isalpha判断是否连续为字母是true不是false
  • isdigit判断是否全部为数字是返回true否为false
  • isalnum如果字符都是字母或者数字则返回true否为false
  • isspace判断是否只包含空格如果是返回true

  • 扩展字符串函数


  • str.join(mystr)如果Mystr为字符串就会在每个字符的后面添加上str
  • 如果为列表元组字典则在里面每个元素的后面添加上str
  • .capitalize把字符串的首字母大写
  • title把字符串的每个单词的首字母大写
  • ljust(参数宽度)左对齐
  • rjust(参数宽度)右对齐
  • center(参数宽度)居中
  • append向列表后面添加元素(原来的).append(要添加的)
  • extend将一个列表中的元素逐一添加到列表中
  • insert(下标,插入的元素)在指定下标出插入元素
  • !注意:append直接修改元列表append插入的是一个列表
  • extend插入是合并
  • dle根据下标进行删除
  • pop删除尾部
  • remove根据元素的值进行删除注意:如果有两个数据则删除前一个数据
  • 查找列表下标的同时要先进行列表的遍历然后可以用下表进行修改元素内容


  • 查找方法


  • in(存在)
  • not in(不存在)

排序


  • sort将列表从小到大排序改变原列表
  • reverse=Ture可改为倒叙从大到小改变原列表