python 基础(格式化输出,初始编码,数据类型及其操作)

1,格式化输出

   %    占位符,

   s     字符串,

   d     digit 数字

  %%     这个i是单纯的显示%
  format
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('你的爱好:')
msg = '''-------info of %s--------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
----------------end---------------''' %(name,name,int(age),job,hobbie)
print(msg)

format
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('熊熊',22,'girl','熊熊')
print(s)
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('熊熊',22,'girl')
print(s)
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=22,hobby='girl',name='熊熊')
print(s)



2.初始编码
  ascii: 字母,数字,特殊字符:一个字节,8位(最开始7位,后预留一位)
unicode:16位,两个字节 升级32位 四个字节
utf-8:最少一个字节 8位表示。  英文字母 8位 1个字节
欧洲 16位 2个字节
中文 24位 3个字节
gbk:中文2个字节,英文字母1个字节
3.运算符 not and or
  
优先级,() > not > and > or
4,数据类型及其操作
  数据类型划分:可变数据类型,不可变数据类型
  不可变数据类型:tuple,bool,int,str   可哈希
  可变数据类型:list,dict,set  不可哈希

  int   1,2,3用于计算

  bool:  True,False, 用户判断
  str:  存储少量数据,进行操作
      '熊熊' '410420' 'loveyou'
  list: 存储大量数据。
     [1,2,3,'123456']
  tuple: 元祖,只读
      (1,2,3,'第三方')
  dict: 字典{'name':'熊熊','age':22}
      字典{'熊熊':[],'傻子':[]}
  集合: {1,2,5,'12345'}
  
1,str----字符串的操作 s = ' ' 至少一个空格 返回True
   
索引:s = [首:尾:步长] 顾头不顾尾
   切片:s = [首:尾:步长] 
   capitalize 首字母大写

   upper() 全大写
   lower() 全小写
   find() 通过元素找索引,找不到-1
   index() 通过元素找索引,找不到 报错
   swpcase 大小写翻转
   len() 长度
   replace() 替换
isdigit() 返回 数字 bool值
   isalgha() 字母
isalnum() 数字和字母
   startswith() 以什么开始
   endswith() 以什么结束
title() 首字母大写
center () 居中
strip() 默认删除前后空格,遇到元素阻挡无法删除
split() str--->list一分为二,默认空格分隔
format 格式化输出
   count() 计数
for i in 可迭代对象:
pass
   while 1:效率高
      pass
  2,list----列表
    
增:append() 加到最后
      insert() 位置插入
      extend() 迭代增加
    删:remove() 元素
      pop() 索引
      clear() 清空
      del() 删除列表或者切片删除
    改:li[索引]='被修改内容'
      li[切片]='被修改内容'分成最小元素迭代添加(先取出)
    查:for循环 索引,切片
    公共方法:
      len() 长度
      count() 计数
      index() 查找
      sort() 正向排序
      sort(reverse=True) 倒向排序
      reverse() 列表反转
      range() 有序列表(for)循环
      jion() list---->str
      split() str----->list
      列表嵌套
  3,tuple----元祖(只读列表,可循环查询,可切片,儿子不能改,孙子可以改)
  4,dict----字典(二分查找去查询,存储大量的关系型数据,3.5之前版本无序)
    增:存在就覆盖
      setdefault():有键值对不做任何改变,没有才添加
    删 :pop() 按照key删除,默认返回None
       popitem()随即删除,默认返回元祖
       clear() 清空字典
       del dic['name']
    改:update()
    查: dic.keys() 键
      dic.values() 键值
      dic.items() 键值对
    dic.get(key,None)
    for i in dicl: 默认打印键
      print(i)
    for i in dicl.values():
      print(i)
    for k,v in dicl.items():
      print(i)
    字典的嵌套
  5,set----集合{} 可变的数据类型,它里面的元素必须是不可变的
    
增:add() 无序
      update() 迭代添加,按最小元素依次添加,无序
    删:pop() 随机删除,有返回值
      remove() 按元素删除,没有报错
      clear() 清空集合
      del() 删除集合
    改:
    查:for i in set1:
        print(i)
    交集: & intersection()
    并集: | union()
    反交集:^ symmetric_difference()
    叉集: - difference()减号之前独有
    子集:< issubset() 前是后的子集
    超级:> issuperset()前是后的超集
    去重:li = list(set(li))
    frozenzet() 不可变数据类型
    

 5,知识点总结
    python2和python3区别
python2 python3
print() 2.7以后 支持加()或者不加() print()
range()  xrange() range()
raw_input() input


    

   = 赋值  == 比较值是否相等  is 比较的是内存地址  id (内容)
   数字,字符串  小数据池
   数字范围: -5--256
   字符串: 1,不能含有特殊字符
        2,s*20 还是同一个地址 ,s*21以后都是两个地址
   剩下的 list dict tuple set 无小数据池

 
  编码 python2 python3 通用

    ascii: A :00000010 8位 一个字节

    unicode: A :00000000 00000001 00000010 00000100 32位 四个字节
     中 :00000000 00000001 00000010 00000110 32位 四个字节

    utf-8: A :0010 0000 8位 一个字节
     中 :00000001 00000010 00000110 24位 三个字节

    gbk: A :00000110 8位 一个字节
中 :00000010 00000110 16位 两个字节
    1.各个编码之间的二进制,是不能互相识别的,会产生乱码
    2.文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk gb2312 ascii 等)
   
  python3 :
str 在内存中是用 unicode编码的。
bytes 类型
对于英文:
str : 表现形式 : s = 'alex'
编码方式 : 010101010 unicode
bytes:表现形式 : s = b'alex'
编码方式 : 000101010 utf-8 gbk
对于中文:
str : 表现形式 : s = '中国'
编码方式 : 010101010 unicode
bytes:表现形式 : s = b'xe91e91e01e21e31e32'
编码方式 : 000101010 utf-8 gbk
   encode 编码 ,如何将str---->bytes




 
 

     

原文地址:https://www.cnblogs.com/encounter-you/p/10501776.html