观数据世界,览类型风骚---Python
一、变量的简介
变量只不过是保留的内存位置用来存储数据。这意味着,当创建一个变量,那么它在内存中保留一些空间。
根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中。因此,通过分配不同的数据类型的变量,可以存储整数,小数或字符在这些变量中。
二、变量类型的五大金刚
-
数字(Number)
-
字符串(String)
-
列表(List)
-
元组(Tuple)
-
字典(Dictionary)
1、数字(Number)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的type()函数可以用来查询变量所指的对象类型。
>>>a,b,c = 20,5.5,True
>>>print(type(a),type(b),type(c))
<class ‘int’><class 'float'><class 'bool'>
注:在Python2中是没有布尔型的,它用数字0表示False,用1表示True。在Python3中,把True和False定义成关键字了,但它们的值还是1和0.
当你指定一个值时,Number 对象就会被创建:
num = 10
2、字符串(String)
Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
a、使用单引号(')
用单引号括起来表示字符串,例如:
str='this is string';
print str;
b、使用双引号(")
双引号中的字符串与单引号中的字符串用法完全相同,例如:
str="this is string";
print str;
c、使用三引号(''')
利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str='''this is string
this is pythod string
this is string'''
print str;
2.1字符串的内置函数详解
2.1.1 capitalize()=>字符串的首字母大写
name = "alex"
print(name.capitalize()) ==>Alex
2.1.2 count()=>用来计数
name = "my name is alex"
print(name.count("a"))==>2 注:”整个name字符串一共有两个a
print(name.count("a",0,6))==>1 注:从第一个字符开始到第6(顾头不顾尾原则)个字符共有1个
2.1.3 center()=>将打印的数据放置在中间
name = "My name is alex"
print(name.center(50,"*"))==>*****************My name is alex******************
2.1.4 endswith() =>判断字符串以什么结尾
name = "My name is alex"
print(name.endswith(""ex))==>True
2.1.5 expandtabs(tabsize=30)=>将字符串中的tab键转换为30个空格
name = "My \tname is alex"
print(name.expendtabs(tabsize=30))==>My name is alex
2.1.6 find()=>查找字符或字符串的下标
name = "My name is alex"
print(name.find("name"))==>3
print(name.find("y"))==>1
注:可以通过下标对字符串进行切片
2.1.7 format()=》字符串的标准化输出
name = "my name is {name},age is {age} old"
print(name.format(name="alex",age=27)) ==>my name is alex,age is 27 old
2.1.8 isalnum() =>判断是否全是字符和数字
name = "abc123"
print(name.isalnum()) ==>True
print("abc\f123".isalnum()) ==> False 注:因为里面有特殊字符
2.1.9 isalpha() =>判断是否为纯字符
name = "abc"
print(name.isalpha()) ===>True
2.1.10 isdigit()=>判断是否为整数
age = "10.5"
print(sum.isdigit()) ==>False
2.1.11 isspace() =>判断是否为空格
space = " "
print(space.isspace()) ==>True
2.1.12 istitle() => 判断是否为一个标题
title = "My Name Is Title"
print(title.istitle()) ==>Ture 注:如果是一个连续的字符串,开头字母要大写。如果是多个字符串,每个字符串的首字母要大写
2.1.13 ljust() =>用特定的字符补齐长度,原字符串在左侧
rjust() =>用特定的字符补齐长度,原字符串在右侧
name = "alex"
print(name.ljust(30,"*")) ==>alex**************************
print(name.rjust(30,"-")) ==>--------------------------alex
2.1.14 lower() =>将字符串转化为全小写
upper() =>将字符串转化为全大写
name = "alex"
print(name.lower()) ==>alex
print(name.upper()) ==>ALEX
2.1.15 lstrip() =>去掉左侧的空格和换行
rstrip() =>去掉右侧的空格和换行
strip() =>去掉字符串中所有的空格和换行
name = " \nalex\n "
print(name.strip()) ==>alex
2.1.16 replace() =>替换字符
name = "alex"
print(name.replace("l","L")) ==>aLex
2.1.17 split() =>将字符串转换为列表,可以指定按照某种字符或者空格为划分标准
name = "my name is alex"
print(name.split()) ==>["my","name","is","alex"]
print(name.split("a")) ==>['my n', 'me is ', 'lex'] 注:当用某个字符作为划分标准时,这个字符就不再打印了
2.1.18 swapcase() =>大小写反转
name = "MY NAME is alex"
print(name.swapcase()) ==>my name IS ALEX
2.1.19 title() =>将字符串转化为标题
name ="my name is alex"
print(name.title()) ==>My Name Is Alex
3、列表(List)
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号([])之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号(+)是列表连接运算符,星号(*)是重复操作。如下实例:
#!/usr/bin/env python
list = ["abc","123",70.2,"alex"]
print(list) #输出完整列表 结果:["abc","123",70.2,"alex"]
print(list[0]) #输出列表第一个元素 结果:["abc"]
print(list[0:3]) #输出第1个到第3个元素 结果:["abc","123",70.2]
print(list[2:]) #输出第3个到最后一个元素 结果:[70.2,"alex"]
4、元组(Tuple)
Python的元组与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];元组创建很简单,只需要在括号中添加元素,并使用逗号(,)隔开即可,例如:
tup1 = ("zhang","li","zhou")
tup2 = (1,2,3,4,5)
创建空元组,例如:tup = ();
元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
4.1元组的访问(查)
>>>tup1 = ("zhang","li","zhou")
>>>print(tup1[0])
>>>zhang
4.2元组的删除
>>>tup1 = ("zhang","li","zhou")
>>>del tup1
5、字典(Dictionary)
字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典由键和对应的值组成。字典也被称作关联数组或哈希表。基本语法如下:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
每个键与值必须用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。键必须独一无二,但值则不必;值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。
5.1字典的内置函数详解
5.1.1 字典的直接打印
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
print(student)==>{'stu002': 'canjingkong', 'stu001': 'alex', 'stu003': 'boduoyejieyi'} 注:因为字典是无序的
print(student["stu001"]) ==>alex 打印指定key对应的value值
5.1.2 字典中增加项
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
student["stu004"] = "xiaozemaliya"
print(student) ==>{'stu002': 'canjingkong', 'stu004': 'xiaozemaliya', 'stu003': 'boduoyejieyi', 'stu001': 'alex'}
5.1.3 字典中修改某一下
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
student["stu002"] = "苍井空"
print(student) ==>{'stu002': '苍井空', 'stu001': 'alex', 'stu003': 'boduoyejieyi'}
5.1.4 删除字典和删除字典中的某一项
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
del student
print(student) ==>打印直接报错:NameError: name 'student' is not defined
del student["stu001"] 注:删除某一项
print(student) ==>{'stu003': 'boduoyejieyi', 'stu002': 'canjingkong'}
student.pop("stu001") 注:删除某一项
print(student) ==>{'stu003': 'boduoyejieyi', 'stu002': 'canjingkong'}
5.1.5 查找字典中的某一项
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
print(student.get("stu001")) ==>alex
判断字典中是否有某一项:
student = {"stu001":"alex","stu002","canjingkong","stu003":"boduoyejieyi"}
print("stu001" in student) ==>True
print("stu004" in student) ==>False