python学习之第六课时--基本数据类型(数字int字符串str)

  • 基本数据类型       

              数字           int

 

         字符串         str

 

         布尔值         bool

 

         列表           list

 

         元组           tuple

 

         字典           dict

  • 数据类型关系图 

                      

  • 查看一个对象的类

           

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”helloworld”
b=type(a)
print(b)

 

             运行输出:  <type “str”>    str是字符串类

        

               

                     备注:第一个是IDLE(python GUI)运行出来的,第二个是pycharm运行出来的

 

  • 查看一个对象类的类库

         如上图,查到对象的类后,将类名称写在下面,按下ctrl键用鼠标点击这个类名称,就可以进入这个类的类库

      

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”helloworld”
b=type(a)
print(b)
str
#按着ctrl键用鼠标点击这个类名称,就可以进入这个类的类库

 

                  如图所示,部分str类库内容:

                  

  • 每一个类的 类库里都有操作对象的各种功能(实际是函数)

                       大小写转换

 

                                 1)  --upper     

 

                                 2) --小  lower

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld”
b=a.upper()
C=a.lower()
print(b)
print(c)

 

上面a为字符串类的对象变量,upper()lower()为字符串类的类库功能函数,b=a.upper()打印b就将字符串转换成大写HELLOWORLDc=a.lower()打印c就将字符转换成小写helloworld

 

 

                    

 

 

  • 查看一个对象功能函数

          如上面:

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld”
b=a.upper()
C=a.lower()
#按着ctrl键用鼠标点击这个对象功能函数,就可以进#入这个类的类库,找到相对应的函数源代码
print(b)
print(c)

 

 

 

 

  • 查看一个对象的类库里具备哪些功能

             如:dir()

                   

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld”
b=dir(a)
print(b)
#运行后打印对象类库所具备功能

                     这样就会得到:[‘_add_’,’_class_’,’_contains_’,’_doc_’.......等等

 

 

  • 查看一个对象类库的所有功能与详情方法等

         如:help()

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld”
b=help(dir(a))
print(b)
#运行后打印出对象类库的所有具备功能

             

基本数据,对象类库里的常用功能

      注意:对象类库里的功能函数,前后带有下划线的为特殊函数(魔法方法),python程序的内置函数

              如:    _add_

           

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=25
b=36
print(a+b)
#如上列,其实内部计算流程是
a=25
b=36
print(a._add_(b))
#所以两个结果是一样的
#目前可以不用管他

             打印出对象在内存的地址:

          如:  id()

                  

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=25
b=id(a)
print(b)
#打印出对象在内存的地址  38363240

            1. 整数(int)  创建整数对象

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=25
print(a)
#或者
b=int(25)
print(b)

 

          特殊说明:

                 所有以类名称加()创建的一个对象都是执行的类库里的(_init_)这个功能,初始化的意思

          如:

              int(25)执行的对应功能是_init_,然而a=123又是转换a=int(25),最后还是执行的_init_这个功能其他类也是如此,每一个类都有_init_初始化_add_()   相加  格式:a._add_(b)

                 bit_length()     取二进制的最小表示位数(返回多少位)    格式:a.bit_length()

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=25
b=a.bit_length()
print(b)

 

                输出:

             

  • 字符串,string

                   字符串常用功能:

                                移除空白

                                分割

                                长度

                                切片

                                索引

                 注意python2.7版本索引中文字符串会乱码(2.7以字节编码),3.0版本以上没问题(3.0以字符编码)

         说明2.7版本中文是以字节编码的,如utf-8一个中文是3个字节,所以当索引字符下标是一个汉字是右3个下标的,索引一个下标不是一个完整的汉字,就会出现乱码

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”你好”
print(a[0])
#索引一个下标不是一个完整的汉字,就会出现乱码

                2.7版本中,用切片的方法打印一个汉字, 注:utf-8一个中文就是3个字节

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”你好”
print(a[0:3])
#用切片的方式0到3就能打印出你字

 

               判断索引数用len()函数(字符串大小),配合循环使用

        切片 a[初索引:末索引]:把一串字符串分成几个字符,成为新的字符

 

 

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”Helloworld”
print(a[0:2])
print(a[4:8])
#分别输出He oWor 切成两个独立新字符串

              wapcase(self)        #(大写变小写,小写变大写)

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”Helloworld”
b=a.swapcase()
print(b)
#输出HelloWorld 返回大写变小写,小写变大写

startswith(self,prefix,start=None,end=None)               #判断是否以某个字符或者字符串起始,返回真或者假

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”人生可以平凡但不可以平庸”
b=a.startswith(“人生”)
print(b)
#输出True 返回真

splitlines(self,keepends=False)      #根据换行分割

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld\python”
b=a.spiltlines()
print(b)
#输出 ['HelloWorld', 'python']  返回分割后的列表

split(self,sep=None,maxsplit=None)    #(分割字符串)  分割的标示字符,标示字符分割有效位置:也就是从左边最多分割几次

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorldShortlife”
b=a.split(“e”,2)
print(b)
#输出 ['H', 'lloWorldShortlif', '']  返回分割后的列表

                   replace(self,old,new,count=None)     #(替换)字符串里被替换的字符,替换成什么字符,可选:位置从左向右找几个

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorldShortlife”
b=a.replace(“e”,”L”)
print(b)
#输出 HLlloWorldShortlifL  将字符串里的字符替换成指定字符

partition(self,sep) 有参  #(分割前,中,后三部分)分割位置字符

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorldShortlife”
b=a.partition(“World”)
print(b)
#输出 ('Hello', 'World', 'Shortlife')  从位置字符那里分割,返回元组

strip(self,chars=None)  #(移除两边空白)

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”  qiang   ”
b=a.strip(“World”)
print(b)
#输出 qiang  出除两边空白

 

               备注:移除左右侧空白分别是(lstrip,rstrip)

 

join(self,iterable)有参    #(l连接一个列表成一串字符串)  连接符”.join(字符变量)        注意:如果连接符””为空,连接起来就是一串字符串

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=[“lu”,”zou”,”chen”]
b=”--”.join(a)
print(b)
#输出 lu--zou--chen 将列表连接成一串字符串

format(*args,**kwargs)有参     #(替换字符串里的占位符),动态参数

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”姓名 {0} 年龄 {1}”
#{ }占位符里面一般从0编号
b=a.format(“luqiang”,”20”)
print(b)
#输出 姓名 luqiang 年龄 20 替换字符串里的占位符

find(self,sub,start=None,end=None) 有参  #(寻找字符在字符串里的位置),如果找到返回位置数(若有多个返回第一个字符位置),否则返回-1

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”HelloWorld”
b=a.find(“l”)
print(b)
#输出 2 (打印字符”l”第一个位置)

 

expandtabs(self,tabsize=None)有参

           #(tab转换成空格,默认一个tab转换成8个空格),自定义换成空格数

          注意:\t表示tab键,如果在编辑器直接tab键,编辑器会自动转换成空格

 

#!/usr/bin/env python
# -*- coding:utf-8 -*-
a=”Hello\tWorld”
b=a.expandtabs(16)
print(b)
#将tab键转换成16个空格打印出Hello           World
#注意如果不指定,默认是8个

 

 count(self,sub,start=None,end=None)有参

            #(查找字符在字符串中的次数)

            Capitalize()  首字母大写   格式: a.capitalize()

 

字符串部分功能总结

 

   首字母大小写

 

   去空格

 

   替换

 

   是否以什么开头或者结尾

 

   查找字符

 

   查找一个字符出现次数

 

   连接,将列表转换成字符串

 

posted @ 2017-10-25 19:17  LQ6H  阅读(379)  评论(0编辑  收藏  举报