python -- 编码/基本数据类型/字符串的操作

 

一.字符编码

  1.ASCII码:   8位,  28=256个码位,最前一位始终是0,     最早计算机编码,由美国人创建的,包含了英文字母(大写/小写),数字,标点符号,特殊字符,还包含$%^@#...

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

  3.unicode  万国码     usc-2  16位    2字节

                                  usc-4  32位   4字节

  4.UTF-8   :英文    8bit    1byte       00000000

                   欧洲   16bit   2byte      00000000 00000000 

                   中文    24bit   3byte      00000000 00000000 00000000

二.基本数据类型的概述

 

  1.int

#bit_length() 计算整数在内存中占用的二进制码的长度
a = 3   # 1+1= 10 +1 = 11
print(a.bit_length())   # 二进制长度,11长度为2

  2.布尔值(bool)

   取值只有True,False             # 空的东西都是False, 非空的东西都是True

# 字符串转换成数字
s = "128"
i = int(s)
print(type(i))     #结果是<class 'int '>
# bool类型转换成数字  True: 1  False:0
b = False
c = int(b)
print(c)
# int转换成bool  零: False 非零: True
a = 0
b = bool(a)
print(b)
s = ""      #  "" 空字符串表示False, 非空字符串表示:True
if s:
    print("哈哈")
else:
    print("呵呵")   #结果是:呵呵
m = None    # 空 连空气都不如. 真空, False
if m :
    print("a")
else:
    print("b")    #b

  3,字符串(str)

    把字符连成串,用',",''',"""引起来的内容被称为字符串.

    1)索引,也就是下标,从0开始

#索引
s = "我爱周杰伦"
print(s[0])   #获取第0个,也就是"我"
print(s[1])   #"爱"
print(s[2])
print(s[3])
print(s[4])
print(s[-1])   #获取最后一个,倒着数,也就是"伦"
print(s[-2])   #"杰"
print(s[-3])
print(s[-4])

  2)切片,利用下标截取部分字符串 的内容

    通过索引获取到的内容. 还是一个字符串,切片可以对字符串进行截取

   语法:     s[起始位置: 结束位置]

   特点:   顾头不顾腚

切片
s = "alex和wusir经常在一起"
s1 = s[5:10]
print(s1)    #"wusir"

s3 = s[5:]  # 默认到结尾
s4 = s[:10] # 从头开始
s5 = s[:]   # 从头到尾都切出来
s6 = s[-2:] # 从-2 切到结尾  默认从左往右切

  3)步长,正负号分别表示从左往右数,从右往左数;大小表示每几个取一次
  语法:     s[起始位置: 结束位置: 步长]

三.格式化输出

  S = "我叫{},今年{}岁了,我喜欢{}".format("sylar",18,"周杰伦")

  S = "我叫{0},今年{1}岁了,我喜欢{2}".format("sylar",18,"周杰伦")

  S = "我叫{name},今年{age}岁了,我喜欢{hobby}".format(name,age,hobby)

四.字符串的相关操作  (字符串是不可变的,任何操作对原字符串不会有任何影响)

  1.大小写转来转去

  s1.capitalize()  #首字母换成大写

  s1.lower()        #全部转换成小写

  s1.upper()       #全部转换成大写

  s1.swapcase() #大小写互换,大写换成小写,小写换成大写

  s1.casefold()   #全部转换为小写

  s1.title()     #被特殊字符或者汉字隔开的单词首字母大写

 

  2.切来切去

  s1.center(10,"*")    #把字符串拉长为10位,不够的位数用*补全

  s1.strip()                  #将字符串前后的空格去掉

  s1.lstrip()             #去掉左边空格

  s1.rstrip()             #去掉右边空格

  s1.strip("abc")     #去掉左右开头指定的元素.

  s1.replace("old","new")  #使用new替换old

  s1.replace("old","new",2)   #使用new替换前2个old

  lst= s1.split("A")   将s1进行切割,用A切割,消耗掉的是A,并将切割好的字符串放入列表lst中

  lst= s1.split("A",2)   将s1进行切割,,用A切割,消耗掉的是A,并将切割好的字符串放入列表lst中,    但是只对前面2个进行切割

 

  3.查找

  s1.startswith("abc")     #判断是否以abc开头

  s1.endswith("语言")    #判断是否以"语言"结尾.

  s1.count("a")   #计算a在字符串中出现的此数

  s1.find("a")    #查找a出现的位置  找到==>返回位置     找不到===>返回-1

  s1.index("a")   #查找a出现的位置    找到===> 返回位置    找不到 ==> 程序报错!!!

   4.条件判断

  s1.isalnum()   #判断是否字母和数字组成

  s1.isalpha()   #判断是否由字母组成

  s1.isdigit()    #判断是否由数字组成,不包含小数点

  s1.isnumeric()   #判断是否由数字组成,并且还识别中文的数字

  s1.isupper()    #判断是否是大写字母

  s1.islower()     #判断是否是小写字母

  s1.isdigit()   #判断是否是数字

   5.迭代

  for循环来遍历(获取)字符串中的每一个字符

  可迭代对象:可以一个一个往外取值的对象

  for循环,语法:

       for 变量 in 可迭代对象:

     循环体

    while循环遍历

  # count = 0
  # while count < len(s):
  # print(s[count])
  # count = count + 1

 

posted @ 2018-07-08 19:30  我叫好名字  阅读(190)  评论(0编辑  收藏  举报