Python基础(二)--基本数据类型、格式化输出、基本运算符

摘要:
注意,从Python 2.2开始,如果整数溢出,Python将自动将整数数据转换为长整数。因此,长整数数据后缺少字母L不会造成严重后果。注意:在Python 3中,不再有长类型。它们都是int˃˃˃a=2**64˃˃˃˃type#type(),这是查看数据类型的方法。

一、基本数据类型

1、数字类型

#int整型
定义:age=10 #age=int(10)
用于标识:年龄,等级,身份证号,qq号,个数

#float浮点型
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重
Python基础(二)--基本数据类型、格式化输出、基本运算符第1张Python基础(二)--基本数据类型、格式化输出、基本运算符第2张
#int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
#long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
注意:在Python3里不再有long类型了,全都是int
>>> a= 2**64
>>> type(a)  #type()是查看数据类型的方法
<type 'long'>
>>> b = 2**60
>>> type(b)
<type 'int'>

#complex复数型
>>> x=1-2j
>>> x.imag
-2.0
>>> x.real
1.0
其他数据类型(补充)

2、字符串类型

#在python中,加了引号的字符就是字符串类型,python并没有字符类型。
定义:name='egon' #name=str('egon') 
用于标识:描述性的内容,如姓名,性别,国籍,种族
Python基础(二)--基本数据类型、格式化输出、基本运算符第3张Python基础(二)--基本数据类型、格式化输出、基本运算符第4张
# 1.单引号和双引号一般没什么区别,只有在单双引号配合使用的时候才要区分
# 2.多行字符串必须用多引号
单引号、双引号、多引号的区别
Python基础(二)--基本数据类型、格式化输出、基本运算符第5张Python基础(二)--基本数据类型、格式化输出、基本运算符第6张
# 字符串但只能进行"相加"和"相乘"运算
>>> name='Pie'
>>> age='18'
>>> name+age     #相加其实就是简单拼接
'Pie18'
>>> name*5         # 相乘就是重复打印
'PiePiePiePiePie'
字符串拼接

3、列表

#在[]内用逗号分隔,可以存放n个任意类型的值
定义:students=['pie','jqh','zd',]    
# students=list(['pie','jqh','zd',] ) 
用于标识:存储多个值的情况,比如一个人有多个爱好

4、字典

Python基础(二)--基本数据类型、格式化输出、基本运算符第7张Python基础(二)--基本数据类型、格式化输出、基本运算符第8张
存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
>>> info=['pie','male',18]
定义列表的目的不单单是为了存,还要考虑取值,如果我想取出这个人的年龄,可以用
>>> info[2]
18
但这是基于我们已经知道在第3个位置存放的是年龄的前提下,我们才知道索引2对应的是年龄
即:       #name, sex, age
info=['pie','male',18] 而这完全只是一种假设,并没有真正意义上规定第三个位置存放的是年龄,于是我们需要寻求一种,即可以存放多个任意类型的值,又可以硬性规定值的映射关系的类型,

比如key=value,这就用到了字典。
字典的产生
#在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型,而key一定要是不可变类型
定义:info={'name':'pie','age':18,'sex':18} #info=dict({'name':'pie','age':18,'sex':18})
用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值
students=[
    {'name':'pie','age':38,'hobbies':['play','sleep']},
    {'name':'jqh','age':18,'hobbies':['read','sleep']},
    {'name':'zd','age':58,'hobbies':['music','read','sleep']},
]
print(students[1]['hobbies'][1]) #取第二个学生的第二个爱好

 5、布尔类型

布尔值,一个True一个False
#计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人脑能干什么,计算机就应该能干什么,人脑的主要作用是数据运行与逻辑运算,
此处的布尔类型就模拟人的逻辑运行,即判断一个条件成立时,用True标识,不成立则用False标识
>>> a=3
>>> b=5
>>> 
>>> a > b #不成立就是False,即假
False
>>> 
>>> a < b #成立就是True, 即真
True

接下来就可以根据条件结果来干不同的事情了:
if a > b 
   print(a is bigger than b )

else 
   print(a is smaller than b )
上面是伪代码,但意味着, 计算机已经可以像人脑一样根据判断结果不同,来执行不同的动作。

   布尔类型的重点

#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真 

重点

#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

二、格式化输出

将用户指定的值放到指定的位置,就不能用字符串拼接来实现,因为字符串拼接都是拼接都末尾

==>利用占位符:%d、%s

# %s字符串占位符:可以接收字符串,也可接收数字
print('My name is %s,my age is %s' %('tom',18))

# %d数字占位符:只能接收数字
print('My name is %s,my age is %d' %('tom',18))
print('My name is %s,my age is %d' %('tom','18'))  #报错

 

三、基本运算符

1、算数运算

 以下假设变量:a=10,b=20

Python基础(二)--基本数据类型、格式化输出、基本运算符第9张

print(10/3)         # 3.3333333333333335
print(10//3)        # 3
print(10%3)       # 1
print(3**3)        # 27

2、比较运算

a=10,b=20

 Python基础(二)--基本数据类型、格式化输出、基本运算符第10张

3、赋值运算

 a=10,b=20

Python基础(二)--基本数据类型、格式化输出、基本运算符第11张

4、逻辑运算

Python基础(二)--基本数据类型、格式化输出、基本运算符第12张

注意:优先级 :not > or > and

#三者的优先级从高到低分别是:notorand
>>> 3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3
False
#最好使用括号来区别优先级,其实意义与上面的一样
>>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
False

身份运算

#is比较的是id
#而==比较的是值



 

免责声明:文章转载自《Python基础(二)--基本数据类型、格式化输出、基本运算符》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux驱动开发之环境搭建Ubuntu 12.4 编译内核java基础 java中枚举的应用 抽象方法问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows+Python+Selenium基础篇之1-环境搭建

1.所需工具包1.1Selenium for python1.2  Python  1.3  Notepad++或python IDE2.  环境搭建2.1  下载和安装Pythonpython2.7.17    下载地址:https://www.python.org/downloads/  安装时需要特别注意选上pip和Add python.exe tp...

Python机器学习(5)——朴素贝叶斯分类器

朴素贝叶斯分类器是一个以贝叶斯定理为基础,广泛应用于情感分类领域的优美分类器。本文我们尝试使用该分类器来解决上一篇文章中影评态度分类。 1、贝叶斯定理 假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示: 上式表示对于某个样本,特征F1出现时,该样本被分为C类的条件概率。那么如何用上式来...

rabbitmq的笔记(五)用Python请求rabbitmq的接口监控状态

1、使用了Python的requests模块,是因为服务器本来就是Python2,使用这个已安装的模块也比较熟悉。json是用来读数的,吧rabbitmq返回的json数组去除字符串。time和datetime都是获取时间点。 #!/usr/bin/env python #-*- coding:utf-8 -*- importrequests, json...

python字符串操作

字符串的常用操作包括但不仅限于一下操作: 字符串的替换、删除、截取、复制、连接、比较、查找、分割等 以下对字符串的内置操作方法进行总结归纳。 使用type获取创建对象的类 type(name) 使用dir获取类的成员dir(name) 使用vars获取类的成员和各个成员的值 capitalize():字符串首字母大写 casefold():字符串所有字母...

Python安装sqlite3

今天使用PYthon时,发现错误 ImportError: No module named sqlite 这是因为缺少 SQLITE3的缘故。 下面分享一下解决此问题的方法步骤: 1. 查看是Python是否有该库 使用http://django-china.cn/topic/413/ 查看自己Python库的路径, >>> impor...

python用正则表达式匹配字符串里的日期

今天有个需求,需要把字符串里的时间匹配出来,上网搜了下,找到这个解决方案,利用正则表达式匹配字符串中的日期和时间。 代码如下python用正则表达式匹配字符串里的日期: pattern = re.compile(r'd{2}/d{2}/d{4}|d{1}:d{2}|d{2}:d{2}')#定义匹配模式 string = 'The Yellow Door...