黑教小本本---python 基础数据类型相关整理
python 基础数据类型
python版本分为2.0余3.0版本,目前同时发行。以后3.0版本将成为主流
地址
https://www.python.org/
编辑器
自带编辑器IDLE【可执行所有代码】
sumlime编辑器【易用,界面友好】地址http://www.sublimetext.com/
代码注释
#code *单行注释* '''code dode1''' *多行注释*
变量命名规则
Python 语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目的字母、数字和下画线(_)。此处的字母并不局限于 26 个英文字母,可以包含中文字符、日文字符等。由于 Python 3 支持 UTF-8 字符集,因此 Python 3 的标识符可以使用 UTF-8 所能表示的多种语言的字符。Python 语言是区分大小写的,因此 abc 和 Abc 是两个不同的标识符。Python 2.x 对中文支持较差,如果要在 Python 2.x 程序中使用中文字符或中文变量,则需要在 Python 源程序的第一行增加“#coding:utf-8”,当然别忘了将源文件保存为 UTF-8 字符集。
在使用变量时,需要注意如下规则:
1、变量名可以由字母、数字、下画线(_)组成,其中数字不能打头。
2、变量名不能是 Python 关键字,但可以包含关键字。
3、变量名不能包含空格
4、区分大小写
*如果变量名两个或者多个单词组成,单词之间用_连接,例如:qq_password。
当变量名是由二个或多个单词组成时,还可以利用驼峰命名法来命名,例如:firstName、 FirstName*
数据类型
type()函数可查看变量的类型
- 空值 用来判断变量值是否为空 例如:用户名密码填写的时候有没有值。
a=None
- class 'fint' 整型【正数负数和零】
a = 123 #整形可以进行基本的数学运算【+ , - ,* ,/ , //】 a = 12 b = 3 a = 12 b = 3 print( a // b) >> 4 #// 只取整数部分 print( a / b) >> 4.0
- class 'float' 浮点型【正小数和负小数】
#浮点型可以进行基本的数学运算【+ , - ,* ,/ , //】 a = 1.2 b = 3.5 print( a / b) >>0.34285714285714286 print( a // b) >>0
- class 'bool' 布尔型【真 True 假 False】
a=True a=False #可以通过判断真假判断真假 a = 1==1 print(a) >>True b = 1==2 print(b) >>False
- class 'str' 字符串
a="hello" #制表符 a = "hello\nword" #换行 print(a) >>hello word A = "hello\tword" #空格缩进 类似TAB print(A) >>hello word print(A[1]) #输出第二个字符 位置变量从零开始 e
容器 存放数据的一个集合为容器,同样也是变量。
- class 'list' 列表
定义方式:变量名 = [ ]
列表的索引从零开始计数
#定义列表 list1 = ['python', 'heijiao', 1993] #通过索引取列表内的值 print(list1[0]) >> python #通过索引给列表内的值重新赋值 print(list1) >> ['python', 'heijiao', 1993] list1[0]="kaola" print(list1) >> ['kaola', 'heijiao', 1993] #列表的切片: print(list1) >> ['python', 'heijiao', 1993] print(list1[0:2]) #从零开始到2之前的元素截取 >> ['python', 'heijiao'] #添加元素 list1.append("hanmeimei") #在最后面添加一个元素 list1.insert(3,"lilei") #在索引为3的位置添加"lilei",后面顺延一位索引。 #删除元素 list1.remove("hanmeimei") #删除元素"hanmeimei" del lise1[2] #删除索引为2的元素也就是第三个元素 list1.pop(2) #删除索引为2的元素也就是第三个元素 #查看列表的长度[len()] print(len(list1)) >> 3 #list1是有三个元素的列表
- class 'tuple' 元组
定义方式: 变量名 = ( )
元组中的元素是完全不可变更的,也可通过索引取值、切片。
通常用来定义只能查看不能修改的值。类似圆周率这种固定不会修改的值。
tuple1 = ('python', 'heijiao', 1993)
- class 'dict' 字典
定义方式:变量名 = {键:值}
字典是一种大小可变的键值对集,其中键(key)和值(value)都是python对象。字典通常是用在需要告诉查找的地方。例如成绩单等。字典的键是唯一不可重复的,值可以重复。
#定义字典 dict1={"name":"heijiao",1:"python","nianfen":1993} #通过键查找值,不能通过索引查找 print(dict1["name"]) >> heijiao
- class 'set' 集合
集合是一种==无序集==,是一组键的集合不存储值,在集合中键是唯一不可重复的,集合也可以用于去除重复的值,集合可以进行数学集合运算,如并,交,差,以及对称差等。
应用场景:
去重,把列表变成集合就自动去重了:set(列表名)
关系测试,测试两组数据之前的交集、差集、并集等关系。
#创建集合两种方式 set([元素]) or 使用大括号{} #定义空的集合不能使用set{}要使用set() set1=set(["heijiao","python",1993,1993]) print(set1) >> {1993, 'python', 'heijiao'} set2={"heijiao","python",1994,1994} print(set2) >> {1994, 'python', 'heijiao'} ######### 集合运算 set1={1,2,3,4,5,6} set2={4,5,6,7,8,9} print(set1-set2) #差集 set1去掉set2中有的键 >> {1, 2, 3} print(set1|set2) #并集 两个集合所有的键 >> {1, 2, 3, 4, 5, 6, 7, 8, 9} print(set1&set2) #交集 两个集合中都有的键 >> {4, 5, 6} print(set1^set2) #对称差 去掉两个集合都有的键之外所有的键 >> {1, 2, 3, 7, 8, 9}
数据类型转换【type()函数可查看变量的类型】
不同类型的数据类型不可以进行拼接或者运算的操作需要对变量进行数据类型的转换之后才能继续
函数 int()、float()、str()和bool() 分别用于将变量转换为整型、浮点型、字符串和布尔类型。
当把变量转换为bool类型时 空值、空字符串、0都会转换成False、其他均为True
a = 1000 b = "2000" print(a+int(b)) #把字符串b转换成int类型进行运算 3000 print(str(a)+b) #把整形变量a转换成str类型与b进行拼接 10002000
运算符
python支持四种运算符:
算数运算符:
运算 | 说明 |
---|---|
a+b | a加b |
a-b | a减b |
a*b | a乘以b |
a/b | a除以b |
a//b | a除以b之后去掉小数部分向下取整 |
a**b | a的b次方 |
python2与python3算数区别:python2中整型除法结果有小数情况会只输出整数部分python3中与正常运算一致。
比较运算符:
运算符 | 说明 |
---|---|
== | 等于,对比对象是否相等 |
!= | 不等于,对比对象是否不相等 |
|大于,返回变量1是否大于变量y
<|小于,返回变量1是否小于变量y
=|大于等于,返回变量1是否大于等于变量y
<=|小于等于,返回变量1是否小于等于变量y
所有比较运算符运算结果均为布尔值:返回1表示真【True】,返回0表示假【False】
赋值运算符:
运算符 | 说明 | 示例 |
---|---|---|
= | 简单的赋值运算 | a=b+c 将b+c的运算结果赋值给a |
+= | 加法赋值运算 | a+=b 等效于 a=a+b |
-= | 减法赋值运算 | a-=b 等效于a=a-b |
*= | 乘法赋值运算 | a=b 等效于a=ab |
/= | 除法赋值运算 | a/=b 等效于a=a/b |
%= | 取摸(取余)赋值运算 | a%=b 等效于a=a%b |
**= | 幂赋值运算 | a=b 等效于a=ab |
//= | 取整除赋值运算 | a//=n 等效于a=a//b |
逻辑运算符:
运算符 | 说明 |
---|---|
and | 布尔‘与’,所有变量都为真【Ture】时则为真,否则为假【False】 |
or | 布尔‘或’,变量中有一个为真,则结果为真。否则为假。 |
not | 布尔‘非’,not x,x为真结果假,x为假结果真。 |
运算符左右两边都是布尔值,输出结果也为【Ture/False】