先来介绍些在Python中常用的5个基本数据类型:

     1.数字: 包括整数、浮点数(概括的讲就是带有小数点)、复数(很少用)

        基本用法就是做数学运算:比如 +、-、*、/、**(幂)   :

          比如2**3 == 2*2*2 ---->8   

       还有些于数字表达式相关联的就是数字模块:下面指出一些常用的数字处理模块

          import math

        math.pi = 3.1415926.......    求 pai

        math.sqrt(9) = 3.0   对指定得数值开平方 == ∫2 

        math.pow(2,3) == 2 ** 3    求2的3次幂

      abs(-2)    求绝对值

      ....................还有些就不一一列出来了

      2.字符串:

           字符串是属于序列的一种,所以想当然就可以切片,下面介绍常用的切片方式:

           与下面变量相对于的索引下标:0,1,2,3,4,5,6             

              比如定义变量name = "abcdefg" ------->切片的样例: name[start:end:buchang]

           其中start:起始位置    end:结束位置   buchang:步长,就相当于跨多少步 默认是1

          注意:其中start可以不写,默认是从0开始算   ,end也可以不写,默认是到最后的位置
        所以说勒  name[:] ===> "abcdefg"   会从0位置开始截取,一直到最后

        还有  name[2:4]  ===> "cd"  ---->正常逻辑来看应该不会大于"cde"吗 ,这是为啥呢,这里值得注意的是python其他数据类型只要能切片都是遵循包前不包后的元则,所以到下标为4,起始只到3.........

  或者说还有name[:-1] ===>是的,切片也支持从后面,不过始终原则是从左往右取,所以说name[-1:-3] 是取不到滴,因为是从左往右,name[-3:-1] == > ef 。

        不过呢,如果想从右到左也不是不可以滴,,不是还有个步长嘛,name[-1:-3:-1]===>"gf",这样就是从右开始取值。差不多切片就介绍到这了。下面该介绍些字符串中常用的函数方法咯!!!!!

    2.1:常用内置函数:

      2.1.1 "abcd".copitalize()---->"Abcd" ===>将内容的第一个数转为大写

      2.1.2 "abcdefb".count(str,start,end)--->"abcdefb".count("b")---->2 ===> 计算指定数据在内容中个数,其中b在数据中出现了2次》》》start:从哪里开始算,end:从哪里介绍====>所以"abcdefb".count("b",2,4)---->0 ===>在索引为2,4(c,d)之间查找是否有"b" ,count函数如果没有找到则会返会0.。。。。

      2.1.3 "abcde".endswith(str,start,end) ---->"abcde".endswitch("e")--->True ===>判断字符"e"是否在数据中的结尾,如果存在返回True,否则返回Flase

    其中start,end和上面的count函数一样,也是指定从哪里开始算,到哪里结束。。。    当然还有个类似的函数:

      2.1.4 "abcde".startswith("ab",start,end) --->True====判断数据内容是否以"ab"开头,是则返回True,否则返回False   其他和上面一致.......

      2.1.5  "abcde".find("a",start,end)----->"abcde".find("a",0,4)---->0 ==>从下标0,4("abcd")中查找是否存在"a",如果存在返回该字符的索引位置,否则返回-1......

      2.1.6  "abcdefd".rfind("d",start,end)---->"abcdefd".rfind("d")--->7 ===>注意的是rfind就当与rightfind,也就是优先算右边的,什么意思呢:

         就是查找还是依次从左至右一个个查,但是比如"d",在内容出现了2次,第一次索引为3,第二次出现的位置是6,正常情况下用find()则是从左致右找到一个,就立马返回出来,所以rfind和find的区别就是如果出现2次或2次以上则选择右边下标,同样未查到则返回-1

      2.1.7  "abcdefgb".index("d",start,end)---->和find()操作方法,返回结果一样,也是找到则返回索引。唯一不同的是find()未找到返回-1,

          而index()未找到则直接抛异常:ValueError: substring not found  

      2.1.8  "ABCabc".lower() ---->"abcabc"  ===>将所有数据字符转换为小写

         与上面类似的是 "abcabc".upper() ---->"ABCABC" ==>将所有数据字符转换为大写

      注意:  上面所述的转换不是讲原来的变量替换掉,而是重新生成一个变量,所以可以用新的变量保存即可==>

            比如content = "abc".upper() 

      2.1.9    "abc12".isalnum()---->True  和 "abc12@&".isalnum() ---->False ====>判断字符数据中是否都是数字(不包括小数或负数,因为-1中的-是符号)或者字母,是则返回True,否则返回False........

      2.3.1     "abc12".isalpha()---->False  和 "abcdeABC".isalpha() ---->True ===>判断字符数据中是否都是字母(大小写都行),是则返回True,否则返回False.......

      2.3.2  "abc12".isdigit() ---->False  和 "122324".isdigit()---->True ===>判断字符数据中是否是纯数字,是则返回True,否则返回False........

      2.3.3      "a@#!$%:^182".islower()--->True 和 "aA@sda#!$%:^182".islower()--->False  ===> 1.至少有一个小写字母 2.不能有一个大写字母    。满足上述两个条件则返回True,否则返回False

      2.3.4       "a@@$ABC".isupper()--->False 和 "@@$A".isupper()--->True ====> 1.至少有一个大写字母 2.不能有小写字母   。满足上述两个条件则返回True,否则返回False 

      2.3.5        有三种去空格方式   ------》左边去空格:" 张三".lstrip()--->"张三"   右边去空格:"张三 ".rstrip()--->"张三"  以及两边去空格:" 张三 ".strip()

      2.3.6     len("abcde") ----->5 ===>计算字符串的长度

      2.3.7   "abcd".replace(old,new,count)--->"abcd".replace("a","c",2)===>该方法是将字符a替换成c,其中old:代表想要替换的值,new:代表剃替换的新值,count代表替换几个,默认是全部替换,也就是说如果字符串里面有两个a,指定count=1,则只替换前面一个a,后面不替换。。。。。。。    

      2.3.8     "abcd cd ef".split(" ")---->['abcd', 'cd', 'ef']  ====>该方法是分割,也就是通过空格来分割字符,以列表的形式返回,所以还可以这样写:

              "abc,aa,s,d".split(",")---->['abc', 'aa', 's', 'd'] ===>根据逗号分割。。。。。。

     3.最后来讲几个关于字符串格式化拼接的方式:

          3.1使用"+",当然这个是最low的方法===>"a" + "b" ---->"ab"

          3.2使用%号,比如"my name is %s" % "tig"-----> "my name is tig" ====>%s就相当于一个占位符一样,然后通过%号后面的参数传入到占位符中。

    如果有一个以上则需要用()包起来,比如  "my %s is %s" % ("zhang","12") ----> "my zhang is 12"     目前至少我最常用的就是%s 和%d,其中%d代表数字

          3.3 还可以使用format函数---->"my {0} is {1}".format("name","zhang")----> "my name is zhang"===>其中0或者1可写可不写

          还有种就是"my {content} is {name}".format(content="name",name="zhang") --->"my name is zhang"  ==>注意,这个变量名得一致对应。