python的基本数据类型简介

python的基本数据类型有:数字-numbers、字符串-str、列表-list、元组-tuple、字典-dict、布尔-bool、集合-set

下面来个概览先大概了解一下,后面博文中咱再细说~

1.数字-numbers

  数字类型就是我们日常生活中所说的数字,python中的数字不分是整数还是小数,正数还输负数,超长数,python中的int足够强大到可以表示任意的数

num1 = 10
num2 = -10
num3 = 1.1
num4 = -1.1
num5 = 222222222222222222222222222222222222222222222222222222
num6 = 3.14j
print(type(num1), num1)
print(type(num2), num2)
print(type(num3), num3)
print(type(num4), num4)
print(type(num5), num5)
print(type(num6), num6)

输出结果:

<class 'int'> 10
<class 'int'> -10
<class 'float'> 1.1
<class 'float'> -1.1
<class 'int'> 222222222222222222222222222222222222222222222222222222
<class 'complex'> 3.14j

注:python3中只有int、float、complex类型,已经没有Lang类型了,超长数据也是int类型

数据类型没有什么重要的方法,如果硬要说一个相关的就是int(),float(),可以把其他类型转换为int类型、float类型

s = "123"
i = int(s)
f = float(s)
print(type(i),i)
print(type(f),f)

输出结果:

<class 'int'> 123
<class 'float'> 123.0

2.字符串-str

引号引起来的一串字符,这串字符中可以有数字、字母、符号、汉字都可以

python中既可以用单引号也可以用双引号,不过要成对出现,如果字符串内部有单引号,那整个串就用双引号,反之,串内有双引号,整个串就用双引号

str1 = "123()— = + !@#¥%……*( 哈哈哈"
str2 = '字符串内部有"双引号'
str3 = "字符串内部有'双引号"
print(type(str1), str1)
print(type(str2), str2)
print(type(str3), str3)

打印结果为:

<class 'str'> 123()— = + !@#¥%……*( 哈哈哈
<class 'str'> 字符串内部有"双引号
<class 'str'> 字符串内部有'双引号

注:python3中不用写【# -*- coding: UTF-8 -*-】就可以直接打印中文

str类型的方法很多很多,先给一个list,在后面会专门来一个str方法的讲解

capitalize、casefold、center、count、encode、endswith、expandtabs、find、format、format_map、index、isalnum、isalpha、isascii、isdecimal、isdigit、isidentifier、islower、isnumeric、isprintable、isspace、istitle、isupper、join、ljust、lower、lstrip、maketrans、partition、replace、rfind、rindex、rjust、rpartition、rsplit、rstrip、split、splitlines、startwith、strip、swapcase、title、translate、upper、zfill,还有一些魔法方法,其中重要的必须要知道的:find、format、index、join、replace、split、strip

3.列表-list

由中括号括起来的一串字符,这就是列表,列表可容一切字符

lst = [1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}]
print(type(lst))
print(lst)

输出结果

<class 'list'>
[1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'}]

列表的特性:可变、有序、可迭代性

由于【可变】,所以它有append、clear、count、extend、insert、pop、remove、copy方法

由于【有序】,所以它有index、reverse、sort

它还可以使用切片、in、for循环

list上面的这些特性和方法都很重要,要记住~~~

4.元组-tuple

由圆括号括起来的一串字符,这就是元组,元组也可容一切字符(这里是不是隐隐有种见过类似一句话的感觉~~~)

tup = (1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}, )
print(type(tup))
print(tup)

输出结果:

<class 'tuple'>
(1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'})

注:

元组的特性:有序、不可修改,切记:元组不可修改,不过是不可修改一级元素,如果一个元素中的元素是可变对象的话,那个元素是可修改的

tup = (1, "a", True, (1, 2), [12, "aa"], {"a": 1, "b": "b"}, )
print(type(tup))
print(tup)
tup[4].append("haha")
print(tup)

输出结果:

<class 'tuple'>
(1, 'a', True, (1, 2), [12, 'aa'], {'a': 1, 'b': 'b'})
(1, 'a', True, (1, 2), [12, 'aa', 'haha'], {'a': 1, 'b': 'b'})

元组的方法只有两个:count、index

索引、in、for循环都是适合元组的

5.字典-dict

由大括号括起来的一对对的键值对,这就是字典,字典的值也可容一切字符(多么熟悉的一句话啊~~)

科普-什么是键值对:就是【键和值,两个配成一对】,就是【1: "a"】,其中写在前面的是键,后面的是值,中间用冒号隔开,一对对键值对用逗号隔开。键不可重复,值可以重复

ps:键重复以后执行不会报错,但是只显示最后一个,所以这个要注意,不然在你不知道的情况下会漏掉了一些数据

dic = {1: "a", "a": (1, 2), "bb": [12, "aa"], 33: {"a": 1, "b": "b"}}
print(type(dic))
print(dic)

输出结果:

<class 'dict'>
{1: 'a', 'a': (1, 2), 'bb': [12, 'aa'], 33: {'a': 1, 'b': 'b'}}

dict字典的特性:无序、可变的

dict的方法有:itemsfromkeysgetkeysvaluesupdate、pop、popitem、clear、copy、setdefault

dict不支持索引,它是通过key来找元素的

dict支持in、for循环,但是迭代的时候是默认以key值迭代的

dic = {"a":1,"2":"b"}
k1 = "a" in dic
print(k1)
k2 = "a" in dic.keys()
print(k2)

 输出结果:

True
True

 也可以用value值来迭代:

dic = {"a":1,"2":"b"}
v = "b" in dic.values()
print(v)

 输出结果:

True

 6.布尔-bool

布尔类型很简单,就两个值:真True、假False(python中如果写出true、false不代表是bool类型值)

其他的话,只有这6个值可代指False:【None、0、""、{}、[]、()】,除了这6个值,剩下所有所有的值都代指的是True

lst = [None, 0, "", {}, [], ()]
for tmp in lst:
    if not tmp:
        print("True")
    else:
        print("False")

 输出结果:

True
True
True
True
True
True

 Tips:一般布尔用在判断条件中,比如if条件、while条件中

7.集合-set

由大括号括起来的一串值,它和字典虽然都是大括号括起来的,但是字典中存放的是键值对,而集合中存放的是一个个的值

直接上实例:

s = {1, "a", True, (1, 2)}
print(type(s))
print(s)

 输出结果:

<class 'set'>
{1, (1, 2), 'a'}

 注意:set集合中不能放可变对象,就是不能放列表、字典,只能放数字、字符串、元组、布尔值,这一点和字典的键的规则一样

集合的特性:无序、去重、可变

这里出现一个其他数据类型没有见过的特性【去重】,意思是集合中的元素都是不相同的,比如:在定义集合时写的是【s = {1, 2, 4, "a" , 2, "a"}】,但执行代码后s变量实际上存进去的是【s = {1, 2, "a", 4}]

集合的方法:add、clear、copy、difference、difference_update、discard、intersection、intersection_update、isdisjoint、issubset、pop、remove、symmetric_difference、symmetric_difference_update、union、update

集合还可以使用一些数值运算符:+、-、|、^、&、>、<

由于集合的无序的,所以它不支持索引、切片

posted @ 2020-03-12 18:30  深藏blueblueblue  阅读(226)  评论(0编辑  收藏  举报