python基本数据类型

1.数字(int)

  数字又分整型和浮点型,在python中声明变量是不用声明所以自己就会识别 

a  = 10        #整型

a1 = 1.24     #浮点型

 

  支持科学计数法,将10用e来代替 

2.字符串(str)

  在python中用引号引起来的就是字符串,而且单引号和双引号并没有什么区别

a    = "string"
a1  = 'string'
a2  = '123'

  字符串是不可变对象,即一旦在内存中创建不可修改,如果修改或连接字符串会重新开辟空间

a = "string"
a.replace("s","b")

在这种情况下我们替换了a中的”s“ ,在python解释器中会输出 "btring",但是当我们print(a) 时我们会发现还是输出“string”,也就是说a并没有变

 

在字符串,我们需要记住一些常用的方法

  • "_".join()
test = "hello"
r = "_".join(test); #以“_"方式连接
print(r)


h_e_l_l_o
  • split()
test = "hello"
r = test.split("e")#将字符串以e来分开
print(r)


 ['h', 'llo']

 

  • find()

 

test = "hello" r1 = test.find("l") #查找到”l“的第一个位置 r2 = test.find("l",3) #从位置3开始 print(r1,r2) 2 3

  • strip()

 

test = " hello "
print(test)
r = test.strip()#去掉字符串两边的空格
print(r)


 hello 
hello
  • upper()

test = "hello" r = test.upper()#将字母大写 print(r) HELLO

  • lower()
test = "HELLO"
r = test.lower()#将字母小写 casefold 可以达到相同的效果而且,功能更强大
print(r)

hello
  • replace
test = "hello"
r = test.replace("l","a")#将l 替换为a
print(r)


heaao
  • 索引

    

test = "hello"
v = test[0]  #以下标索引
v1 = test[0:2] #切片
v2 = test[0:-1] #在此0位可以取到,-1位不可取,即这个切片的取值范围为 0<= <-1
print(v,v1) h he
  • len

 

test = "hello"

print(len(test)) # 在python3中len为获取字符串长度在python中 len为获取字节长度(字节长度会根据编码来确定)




5

 

 

    注:

      len 和 join还可用于其他数据类型

      例如:list

 

 

 

3.列表(list)

 

  列表就是数组的概念,list是一个有序的集合,它是可变的可以随意删除和增加

a = ["liu","yong"]  #一维数组
b = [ "liu",["zhang","li"],"yong"] #二维数组

可以a[0],a[-1],负数就是从后边索引

列表索引是从0开始的依旧是说列表的第一位是0位

在列表中有一些常用的方法

  • append()
a = ["liu","yong"]
a.append("nihao") #在最后边添加
print(a)

['liu', 'yong', 'nihao']

 

  • insert()

 

a = ["liu","yong"]
a.insert(1,"wo") #在指定位置添加
print(a)

['liu', 'wo', 'yong']
  • pop()
a = ["liu","yong"]
a.pop()  #删除最后一位
print(a)
a.pop(0) #删除指定位置

print(a)
['liu']
["yong"]
  • 替换

 

a = ["liu","yong"]
a[0] = "wo"  #指定位置替换
print(a)

['wo', 'yong']

 

 

z4.元组(tuple)

  元组和list类似不过区别在于元组一旦定义不可以在改变

a = ("ni","hao") 

     但是如果元组内包含list是list依旧可变,但是元组依旧是不可变,我们对于可变和不可变可以理解为内存指向,如果一个元组指向一个list那么不论list内部如何变化list在内存中的位置不会改变

 

注:

元组外层可以使用括号,也可以不使用

在定义单一元组时必须这样定义

a = (1,)

 

 

 

5.字典(dic)

字典相当于map 在dic中会有一个key和一个value但是在python中的dic简化了map

a = {"liu":99,"li":85}
print(a["liu"])#取值如果所取的key不存在直接报错
print(a.get("liu")) #取值如果不存在返回none
a["nihao"] = 100 #向dic中存值

“li” in a #判断li是否存在a中

字典是无序的,因为底层是map当然map也是无序的

  • 对dic循环

 

a = {"s": 1, "b": 2, "c": "d", "e": "w"}
for item in a:
    print(item)

  
s
b
c
e
##可以看出默认的是对key循环

 

  • 在python中实际上会简化很多东西,把方法直接写好你可以直接用例如

 

##对key循环    
a = {"s": 1, "b": 2, "c": "d", "e": "w"}
for item in a.keys():
    print(item)

s
b
c
e
  • 对value循环
a = {"s": 1, "b": 2, "c": "d", "e": "w"}
for item in a.values():
    print(item)

1
2
d
w
  • 对键值对循环
a = {"s": 1, "b": 2, "c": "d", "e": "w"}
for k,v in a.items():
    print(k,v)


s 1
b 2
c d
e w

 

 

在dic中字典以及list 都不可以做字典的key

对于value就没有什么限制

 

1、cmp(dict1, dict2):比较两个字典元素。
2、len(dict):计算字典元素个数,即键的总数。
3、str(dict):输出字典可打印的字符串表示。
4、type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

5、d.pop(“key“)删除键

 

1、radiansdict.clear():删除字典内所有元素
2、radiansdict.copy():返回一个字典的浅复制
3、radiansdict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4、radiansdict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果键在字典dict里返回true,否则返回false
6、radiansdict.items():以列表返回可遍历的(键, 值) 元组数组
7、radiansdict.keys():以列表返回一个字典所有的键
8、radiansdict.setdefault(key, default=None):和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
9、radiansdict.update(dict2):把字典dict2的键/值对更新到dict里
10、radiansdict.values():以列表返回字典中的所有值

posted @ 2018-07-12 22:00  ShanCe-刘勇  阅读(148)  评论(0编辑  收藏  举报