03 编码 int ,bool,str的常用操作 主要讲str

主要内容:

1 编码

  1).最早的计算机编码是ASCII,美国人创建的.包含了英文字母(大小写),数字,标点等特殊符号!@#

      128个码位 2**7   在此基础上加了一位  2**8

       8位   1个字节(byte)

  2).GBK :     国标码  16位  2个字节(双字节字符)

       3) unicode  万国码 32位  4个字节

  4).utf-8:       英文          8bit       1个字节

                          欧洲文字   16bit      2个字节

             中文          24bit      3个字节

  8bit=1byte    1024byte=1kb   1024kb=1mb   1024mb=1gb      1024gb=1tb

2基本数据类型概述

  1)int :    整数

  2)str:    字符串  存储少量的数据

  3)bool:  布尔

  4)list:    列表    ["大秧歌","东阳"]

  5)tuple:元祖    只读列表,不能修改

  6)dict:  字典    一对一对的存储数据.key:value{"jj":"林俊杰","jay":"周杰伦"}

  7)set:   集合    存储不重复的内容

3  int操作

  bit_length():       求二进制长度

a=3                               二进制1
print(a.bit_length())             ###结果是2

4 bool操作

  类型转换:你想转换成什么,就用什么把目标裹起来

b=False
c=int(b)
print(c)                          ###结果是0

  带空的返回false,不带空的返回true

a = 0
b = bool(a)
print(b)                          ###结果是false
s = ""  #  "" 空字符串表示False, 非空字符串表示:True
if s:
    print("哈哈")
else:
    print("呵呵")                 ###结果是呵呵

4 字符串的常用操作

  1)索引和切片:

    索引:通过索引获得的内容还是一个字符串

s="吴磊很帅"
print(s[1])
print(s[-1])                      #### 结果是磊         帅

    切片:

    切片可以对字符串进行截取   s[起始位置:结束位置]      特点是顾头不顾尾

s = "alex和wusir经常在一起搞基"
s1 = s[0:5]
s2 = s[:4]              #默认从开始到4
s3 = s[1:]              #默认从1到结束
s4 = s[:]               #默认从开始到结束
s5 = s[0:4] + s[5:10]   #+表示拼接
s6 = s[-2:]             # 从-2 切到结尾  默认从左往右切
s7=s[6:2:-1]             #-号表示从左往右切
s8=s[-1:-6:-2]           #
print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)
print(s7)
alex和
alex
lex和wusir经常在一起搞基
alex和wusir经常在一起搞基
alexwusir
搞基
uw和x

  2)字符串的常用操作:

  字符串不可以改变

  upper()转换成大写

  lower()转换成小写

s="alex is Not a Good man"
print(s.upper())
print(s.lower())
print(s)
ALEX IS NOT A GOOD MAN
alex is not a good man
alex is Not a Good man

 在程序不区分大小写的时候肯定能用上

在程序需要判断不区分大小写的时候,肯定能用上.
while True:
    content=input("请喷:")
    if content.upper()=="Q":
        break
    print("你喷了:",content)
请喷:邱老师和助教老师都很好
你喷了: 邱老师和助教老师都很好
请喷:q

  replace()替换

s="alex wusir alex sb taibai"
s1=s.replace("alex","小雪")
print(s1)
#去掉上述字符串的所有空格
s2=s.replace("alex","sb",1)    #1指的是第一个alex  而不是索引的1
print(s2)
s3=s.replace(" ","")
print(s3)
小雪 wusir 小雪 sb taibai
sb wusir alex sb taibai
alexwusiralexsbtaibai

  strip()去除空格,还可以去除两边的内容(括号里面需要加上删除的内容)

username = input("用户名:").strip()    # 去掉空格.
password = input("密码:").strip()     # 去掉空格
if username == 'alex' and password == '123':
    print("登录成功")
else:
    print("登录失败")
s="******呵呵a呵呵呵呵********"
print(s.strip("*"))                 ####结果是呵呵a呵呵呵呵

  split()切割:切割的内容是一个列表

s="alex_wuse_taibai_bubai"
list=s.split("_")
print(list)
['alex', 'wuse', 'taibai', 'bubai']

    可以根据相应的位置切割

name = "alex leNB"
s2=name.split("l",1)         #根据第一个l的位置切割
print(s2)
['a', 'ex leNB']

  format()格式化输出

s="我叫{},我今年{}岁了,我喜欢{}".format("sylar","18","周杰伦的老婆")
print(s)

  startswith()判断以xxx开头

  endswith()判断以什么结束

  find()查找,找不到返回-1

  index()查找,找不到报错

s = "汪峰的老婆不爱汪峰"
print(s.startswith("汪峰"))   # 判断字符串是否以xxx开头                        True
print(s.endswith("爱妃"))     # 判断字符串是否以xxx结尾                        Flase
print(s.count("国际章"))   # 计算xxx在字符串中出现的次数                          0
print(s.find("汪峰"))    # 计算xxx字符串在原字符串中出现的位置, 如果没出现返回 -1    0
print(s.index("国际章"))    # index中的内容如果不存在. 直接报错                   报错    可以使用find, 如果找不到就返回-1                   

  len()内置函数,直接使用,不用.操作.求字符串的长度.

s = "晓雪老师.你好漂亮"
print(len(s))   # 长度是:8 索引到7
1. 使用while循环来进行遍历
count = 0
while count < len(s):
    print(s[count])
    count = count + 1

  count()计数,判断字符串出现的次数,也可以从开始位置到结束位置计算出现的次数

name = "alex leNB"
s1 = name.count("l",0,4)    #计数还可以从开始位置到结束位置.格式name.count("",开始位置,结束位置)
print(s1)

5 迭代

  for 变量 in可迭代对象:

    循环体

  else:

  用for 循环遍历字符串:

    优势:简单

    劣势:没有索引

for c in s: # 把s中的每一个字符交给前面的c 循环
    print(c)

 

 

 

 

                    

 

posted @ 2018-07-07 23:16  ...绿茵  阅读(234)  评论(0编辑  收藏  举报
1