python学习-day02

Posted nb-sbs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习-day02相关的知识,希望对你有一定的参考价值。

.pyc 文件是对.py文件编译后的文件。.pyc存的是预编译后的字节码文件
print出来有颜色:\033[31;1m%s\033[0m 其中31代表颜色,%s代表格式化输出
exit()可以终止程序

数据类型:
python 3.X中没有long int,都是整型int,但是其他语言还是有这个概念的
float 浮点型,不等于小数。大概记得小数就是浮点数就可以了。
复数 5+3j j表示复数单位,与普通数学中不一样。可以忽略,普通程序员用不到复数
布尔类型 只有true和false 或者说1和0

列表:
取列表里面的值是list[a:b:c],含左不含右,从a开始取,取到b,步长为c(若a=0,b=-1,可以直接省略)
append 按照顺序插入值
insert(num,"元素")num是插入内容的位置
list.remove("元素") 直接可以删除内容
del list[下标]
list.pop() 默认删除最后一个,加入下标可以效果和上一个一样的
index("元素") 查找元素所在的下标(索引),有多个重复元素,查找的第一个
count("元素") 统计个数
sort 排序,特殊符号最先——数字——大写——小写
extend 合并另外一个列表
del 删除列表
如果列表中有元素为列表,元素的列表是在内存空间重新开辟的位置存储,而在上一层的列表存储的是元素列表的内存地址
  eg:
  names = [‘shenbingsheng‘,‘shenman‘,‘shenlihui‘,‘tianqunwen‘,‘liuqunbi‘,["shenlihua","shenmaohua"]]

  

  
  names中的列表["shenlihua","shenmaohua"]是在内存空间重新开辟的地址,names中存储的是["shenlihua","shenmaohua"]的内存地址
  copy 复制列表,浅copy,只会复制的是第一层,也就是说只会复制哪个names中的["shenlihua","shenmaohua"]列表的内存地址
  浅copy:
  
        L1 = copy.copy(names)
        L2 = names[:]
        L3 = list(names)

  

  假设需要深copy一份,必须调用copy模块中的deepcopy函数
  eg:
  names2 = copy.deepcopy(names)
  isdigit() 判断input输入的是否为数字,是返回True,不是返回False
  enumerate()得到索引序列,利用它可以同时得到索引和元素
  eg:
        a = [1,2,3,4,5,6,7,8,9]
        for item in enumerate(a):
            print(item)       # item相当于一个索引和元素匹配的元组
        for index,i in enumerate(a):
            print (index,i)   # 这样得到的index是索引,i是元素

  

字符串操作:
eg:
    name = ‘my name is {name} and I am {year} old.‘
    print(name.capitalize()) # 字符串首字母大写
    print(name.lower()) # 大写变小写
    print(name.upper()) # 小写变大写
    print(name.count("s")) # 统计字符串中s的个数
    print(name.center(60,"*")) # 打印60个字符,不够的用*补位,其中name居中
    print(name.rjust(60,"*")) # 打印60个字符,不够的用*补位,其中name在右
    print(name.ljust(60,"-")) # 打印60个字符,不够的用*补位,其中name在左
    print(name.endswith("sheng")) # 判断以什么字符串结尾,正确返回True,错误返回False
    print(name.startswith("my")) # 判断以什么字符串开始,正确返回True,错误返回False
    print(name.find("name")) # 寻找name所在字符串中的位置,用于切片
    print(name.format(name="SBS",year=22))
    print(name.format_map({"name":"SBS","year":22})) #用法和format差不多,用的更多的是format
    print(name.isdigit()) # 判断是不是字符串是不是纯数字
    print(name.isalnum()) # 判断是不是字母或者数字
    print(name.isalpha()) # 判断纯英文字符
    print(name.isidentifier()) # 判断是不是合法的标识符(变量名)
    print(name.islower()) # 是不是小写
    print(name.isupper()) # 是不是大写
    print(name.istitle()) # 是不是标题,标题单词首字母都要大写
    print("A".join("shenbingsheng")) # 把每一个字符都用引号里面的字符分开
    print(name.strip()) # 去掉转行符和空格符号
    print(name.replace("m","M",2)) # 替换,替换m为M,只替换2个
    print(name.split()) # 分割字符串为一个列表,不填值默认是按照空格分割
    print("SbS".swapcase()) # 大写变小写,小写变大写
    print(name.title())  # 变成标题

 

字典:
  创建:
  stu = {‘stu1001‘:‘Shenbingsheng‘,‘stu1002‘:‘Zhangzhongxia‘,‘stu1003‘:‘Zhangxiaohei‘}
  修改:
  stu[‘stu1001‘] = ‘沈炳声‘
  插入:
  stu[‘stu1004‘] = ‘Alex‘
  删除:
  1.del stu[‘stu1001‘]
  2.stu.pop(‘stu1001‘)
  3.stu.popitem() #随即删除一条
  查找:
   1.stu.get(‘stu1004‘) # 有就显示,没有返回None
   2.stu.[‘stu1003‘] # 只有在确定有这个键的时候才这么用
  stu.key() 查看key
  stu.values() 查看所有的values
  stu.setdefault(‘stu1001‘,‘SBS‘) 若有键stu1001则不变,若没有,则添加新的
  new_stu = {
  ‘stu1003‘:‘zhangxiaobai‘,
  ‘stu1004‘:‘yixiaoqing‘,
  ‘stu1005‘:‘jincongcong‘
  }
  stu.update(new_stu) # 有交叉的就更新,其他的直接加入进去
  stu.item() 字典转成列表




















































以上是关于python学习-day02的主要内容,如果未能解决你的问题,请参考以下文章

python学习-day02

Python学习day02

Python入门学习-DAY02

python 学习笔记day02-python循环文件函数模块

python学习点滴记录-Day02补充-文件操作

python_day02 学习知识点