一、数据类型

  1、数字运算                                                                                                                                int()

  2、判断  True  or  False                                                                                                              bool()

  3、字符串    存储少量数据进行操作                                                                                             str() 

  4、列表  存储大量数据                                                                                                           list [ ]

  5、元祖  只读列表,数据可以被查询,但是不能被修改,字符串的切片同样适用于元祖         tupe    (1,2,3)      ('a','c','d')

  6、字典         字典是Python中惟一的映射类型,采用键值对(key-value)的形式储存数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典                        是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

                             字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素                         是通过键来存取的,而不是通过偏移存取。

  7、集合      {1,2,3,5,'abc'}    

 二、字符串的索引与切片

1、索引

s = 'ABCDEFG'

print(s[0])

print(s[4])

注意: 索引初始位为0,对应字符串‘A’,以此类推

2、切片

切片就是通过索引(索引起始位:索引终止位:步长)截取字符串的一段,形成行的字符串(原则上市顾头不顾尾),如果索引起始位和索引终止位没有显示,默认为索引整个字符串,步长默认为1,

 



a = 'ABCDEFGHIJK'
print(a[0:3])
print(a[2:5])
print(a[0:]) #默认到最后
print(a[0:-1]) #-1就是最后一个
print(a[0:5:2]) #加步长
print(a[5:0:-2]) #反向加步长



,3、字符串常用方法

capitalize()    首字母大写

upper()          全部大写

lower()           全部小写

swapcase()   大小写翻转

title()              每个隔开的单词,首字母都大写。(空格,特殊字符,数字,都算隔开)



A='fda niuou 12ss *ai iu_qw tu_*466qi'
print(A.title())

Fda Niuou 12Ss *Ai Iu_Qw Tu_*466Qi



center()          空白处填充,字符串居中,可以设定填充



a1 = 'qqw1213'
ret2 = a1.center(20,"*")
print(ret2)

******qqw1213*******



# \t前面的补全
                            # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
 
 count()             数字字符中的元素出现的个数  count (“要查看的元素”,检索范围起始位,检索范围终止位)
 startswith()   判断是否以xxx开头,可以是单个字母,也可以是一串字符,startswith(“xxx”,检索范围起始位,检索范围终止位),返回结果是布尔值。

 endswith()    判断是否以xxx结尾 ,结构与startswith()相同  

 find()            查找字符串中的元素是否存在,找不到返回 -1 ,程序不会报错

 index()         查找字符串中的元素是否存在,找不到会报错!!!

 split()            以字符串中的一个元素进行分割,分割完成的列表不包含这个分割元素。split(“指定的分割元素”,制定分割位置)



ret9 = 'title,Tilte,atre,'.split('t')
print(ret9)
ret91 = 'title,Tilte,atre,'.rsplit('t',1)
print(ret91)

['', 'i', 'le,Til', 'e,a', 're,']
['title,Tilte,a', 're,']



 format() 三种方法,格式化输出



res='{} {} {}'.format('egon',18,'male')
res='{1} {0} {2}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)



 strip()  默认删除字符串前后的空格。(字符串中间的空格不受影响)

 lstrip() 默认删除字符串前边的空格。

 rstrip() 默认删除字符串后边的空格

 

 replace()   替换字符串中的指定元素   replace(“指定字符串中的元素名”,“指定要替换的名字”,指定位置)  位置默认全部更换



name='yang say :i have one tesla,my name is yang'
print(name.replace('yang','a yang',1))


a yang say :i have one tesla,my name is yang



 isalnum()  判断字符串由字母和数字组成

 isalpha()  判断字符串由数字组成

 isdigit()  判断字符串由字母组成

 

补充

while True :

  pass

while 1 :  效率高

  pass

 str ------> bool

s = "" ------> False  #""中间没有空格

非空字符串都是 True

s = "0" --------> True

type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。

isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。
  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

语法

以下是 type() 方法的语法:

class type(name, bases, dict)

参数

  • name -- 类的名称。
  • bases -- 基类的元组。
  • dict -- 字典,类内定义的命名空间变量。

返回值

一个参数返回对象类型, 三个参数,返回新的类型对象。

实例

以下展示了使用 type 函数的实例:



# 一个参数实例
>>> type(1)
<type 'int'>
>>> type('runoob')
<type 'str'>
>>> type([2])
<type 'list'>
>>> type({0:'zero'})
<type 'dict'>
>>> x = 1          
>>> type( x ) == int    # 判断类型是否相等
True
 
# 三个参数
>>> class X(object):
...     a = 1
...
>>> X = type('X', (object,), dict(a=1))  # 产生一个新的类型 X
>>> X
<class '__main__.X'>



type() 与 isinstance()区别:



class A:
    pass
 
class B(A):
    pass
 
isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False