20180704

一.编码

  1.最早的计算机编码是ASCII,ASCII 是8位,1个字节

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

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

    utf-2:  16位   2个字节

    utf-8:可变长度的unicode    英文是 8 bit  1个字节

                                              欧洲文字  16 bit    2个字节

                中文是  24bit   3个字节

  常见的单位换算:

    8 bit = 1 byte

    1024 byte = 1 kb

    1024 kb = 1mb

    1024 mb = 1 gb

    1024 gb = 1 tb

二.基本数据类型的概述

  常用的类型主要有:

  int  整数       str 字符串  bool 布尔  list 列表  tuple 元组  dict 字典    set  集合(存储不重复的内容)   保存大量内容

  1.整数int              主要是求二进制长度

例如:

  a = 3           # 1+1=10+1=11

  print(a.bit_length())      

  2.布尔值bool

例如:

  s = "128"

  i = int(s)                   ==><class'int'>

  print(type(i))

例如:

  i = 128

  ss = str(i)              ==><class'str'>                  综上得出:你想转换成什么就用什么把目标括起来

  print(type(ss))

例如:

  b = False

  c = int (b)       ==> 0         bool类型转换成数字     True:1    False:0

  print(c)                       

例如:              int转换成bool       0=False    非0=True

  a = 0

  b = bool (a)           ==>False

  print(b)

例如:

  while  1:                              ==>True              # 1的效率比true稍微高一点点

  print("我很漂亮")

例如:

  s = "   "

  if s:

    print("哈哈")                      ==> 哈哈             空字符串表示False     非空字符串表示True

  else:

    print("呵呵")

例如:

  m= None     None表示空  真空

  if m:

    print("a")                      ==> b

  else:

    print("b")

  3.字符串str            把字符连成串,在Python中用' '," ",''' '''把连接起来

  ①索引:索引就是下标,    切记:下标就是从0开始   (顺序是从左到右)

                  如果是-1时    (顺序是从右到左)

例如:

  s = "123456"

  print(s[4])                     ==>5                         如果索引超出范围则会出现  string index out of range

通过索引获取到的内容还是一个字符串

  ②切片:切片可以对字符串进行截取

  语法:s[起始位置:结束位置]                     特点是:顾头不顾尾

例如:

  s = "我和你在一起"

  s1=s[3:5]                     ==>在一

  print(s1)

例如;

  s = "我和你在一起"

  s1=s[1:3]+s[4:5]                        ==>和你一

  print(s1)

例如:

  s = "我和你在一起"

  s1 = s[:6]                            ==>我和你在一起               从头开始

  print(s1)

例如:

  s = "我和你在一起"

  s1 = s[2:]                                ==>你在一起          默认到结束

  print(s1)

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

例如:

  s = "我是梅西,我很慌" 

  s1 = s [1:5:2]                                 ==>是西                   从1开始,到5结束,每2个取1个

  print(s1)

例如:

  s = "我是梅西,我很慌"

  s1 = s [-1:-5:-2]                             ==>慌我

  print(s1)

例如:

  s = "我是梅西,我很慌"

  s1 = [6:2:-3]                                   ==>很西

  print(s1)

三.字符串的常用方法                        字符串是不可变的对象

  ①大小写转来转去

例如:

  s ="alex and wusir"

  s1=s.capitalize()  (首字母大写)

  print(s)                          ==>alex and wusir

  print(s1)                        ==>Alex and wusir

例如:

  s = "alex is A Good Man"                                   s = "alex is A Good Man"

  print(s.upper())      (全部大写)                ==>  ALEX IS A GOOD MAN                      ==>         s1 = s.upper()

     lower() (全部小写)                              print(s1)

     casefold()    全部小写,对所有字母都有效

例如:

  while True:

  content = input("请输入:")

  if content.upper() == 'Q':                      ==>     Q

    print("你喷了:"content.upper())

    break

  ②切来切去

  1.居中    center

例如:

  s = "麻花藤"

  print(s.center(9))                     ==>***麻花藤***         补齐

  print(s.conter(9,"*"))    

  2.去空格   strip

例如:

  username = input ("用户名:").strip()

  password = input ("密码:").strip()

  if username == 'alex' and password == '123'                   ==>如果输入过程中不小心输入空格,就可以去掉空格,密码账户还是输入正确

    print("成功")

  else:

    print("失败")

例如:

  s = "麻花藤马虎腾马虎腾马布里麻都不理"

  print(s.strip(麻都不理))                                          ==>   去掉麻花藤马虎腾马虎腾马布里                   #去掉麻都不理

    strip ==> 只去掉左右两端的,中间的不管

  lstrip   去掉左边的     rstrip    去掉右边的

  3.字符串的转换      replace

例如:

  s = "alex wusir alex taibai"

  s.replace("alex","小雪")                         ==>alex wusir alex taibai                        

  print(s)

例如:

  s = "alex wusir alex taibai"

  s1=s.replace("alex","小雪")                         ==>小雪 wusir alex taibai                        

  print(s1)

  4.字符串切割      split

例如:

  s = "alex_wusir_taibai_bubai"

  lst=s.split("_")                                                   ==>['alex','wusir','taibai','bubai']              此处刀是_,切完的东西后是列表,列表里装的是字符串

  print(lst)

    如果切割左右两端,左右会出来两个空字符   ==>'',''

 ③格式化输出         format  格式化

例如:

1.s = "我叫{},我今年{}岁了,我喜欢{}".format("xxx",22,"吃")            ==>我叫xxx,我今年22岁了,我喜欢吃

2.s = "我叫{2},我今年{0}岁了,我喜欢{2}".format(22"xxx","吃")            ==>我叫xxx,我今年22岁了,我喜欢吃

3.s = "我叫{name},我今年{age}岁了,我喜欢{gansha}".format(name="xxx",gansha="吃",age=22)               ==>我叫xxx,我今年22岁了,我喜欢吃

4.s ="我叫%s,我今年%s岁了,我喜欢%s" % ("xxx",22,"吃")        ==>我叫xxx,我今年22岁了,我喜欢吃

  ④查找

例如:

  1.print(s.startswith("张舒文"))      ==>True        #判断字符串是否以.......开头

     print(s.endswith("张舒文"))      ==>False       #判断字符串是否以.......结尾

  2.s = "我爱我"

     print(s.count("我"))                 ==>2次      计算我在字符串中出现的次数

  3.print(s.find("爱"))                  ==>1          计算我字符串在原字符串中出现的位置    如果没有出现返回   就等于-1  (没有)

  4.print(s.index("     "))        ==> 报错       #index中的内容如果不存在,直接报错

  ⑤条件判断

例如:

  1.s = "123"

     print(s.isdigit())               ==>True      是否由数字组成

  2.s = "123"

     print(s.iisalpha())               ==>False      是否由字母组成

  3.s = "123"

     print(s.isalnum())               ==>False      是否由字母和数字组成

  4.s = "一二三"

     print(s.isnumeric())               ==>True      可以识别数字(中文大写数字也可以)

例如:

  1.s = "你今天怎么样"

     i = len(s)            ==>6                输出字符串长度            #input()    print()     len()       python的内置函数 

     print(i)

  2.s = "你今天怎么样"

     i = s.__len__()                    ==>6   字符串长度      len()函数执行的时候,实际执行的就是它

     print(i)

例如:把字符串从头到尾进行遍历

     s = "小学老师,你好漂亮"

     print(s[0])

     print(s[1])

     print(s[2])                   ==>分行的"小学老师,你好漂亮"              长度是9    索引到8

      .......

     print(s[8])

例如:

  [1]使用while循环来进行遍历

  s = "小学老师,你好漂亮"

  count = 0

  while count <=8:                         8==>len(s)     这个时候  =号  去掉

    print(s[count])                     ===>分行的小学老师,你好漂亮

    count = count + 1

  [2]用for循环来遍历字符串                              for的优势:简单            劣势:没有索引

  s = "小学老师,你好漂亮"      

  for c in s:                                             ==>分行的小学老师,你好漂亮                          把s中的每一个字符交给前面的c循环

    print(c)

重点:for语法:

  for   变量    in    可迭代对象

      循环体

      break        (存在break,else不执行)

  else:

    全部循环后,才执行else

原文地址:https://www.cnblogs.com/lhy979/p/9264654.html