一、基本数据类型

1、数字类型

#int整型
定义:age=10 #age=int(10)
用于标识:年龄,等级,身份证号,qq号,个数 #float浮点型
定义:salary=3.1 #salary=float(3.1)
用于标识:工资,身高,体重
#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')
用于标识:描述性的内容,如姓名,性别,国籍,种族
# 1.单引号和双引号一般没什么区别,只有在单双引号配合使用的时候才要区分
# 2.多行字符串必须用多引号

单引号、双引号、多引号的区别

# 字符串但只能进行"相加"和"相乘"运算
>>> name='Pie'
>>> age=''
>>> name+age #相加其实就是简单拼接
'Pie18'
>>> name*5 # 相乘就是重复打印
'PiePiePiePiePie'

字符串拼接

3、列表

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

4、字典

存放一个人的信息:姓名,性别,年龄,很明显是多个值,既然是存多个值,我们完全可以基于刚刚学习的列表去存放,如下
>>> 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','')) #报错

三、基本运算符

1、算数运算

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

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

2、比较运算

a=10,b=20

3、赋值运算

a=10,b=20

4、逻辑运算

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

#三者的优先级从高到低分别是:not,or,and
>>> 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基础(二)--基本数据类型、格式化输出、基本运算符的更多相关文章

  1. 【笔记】Python基础二:数据类型之集合,字符串格式化,函数

    一,新类型:集合 集合出现之前 python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #循环方法求交集 python_and_linu ...

  2. python基础二(基本数据类型)

    python的基本数据类型:数字.字符串.列表.元祖.字典.集合 一.基本数据类型 1.1 数字int 数字主要是用来计算用的,使用方法并不多. # bit_length() 当十进制用二进制表示的时 ...

  3. python基础--程序交互、格式化输出、流程控制、break、continue

    在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 (1) 程序交互 #!/usr/bin/env python # -*- coding: ...

  4. python基础之 while 逻辑运算符 格式化输出等

    1.while循环 while 条件: 循环体 while 条件: 循环体 else: 循环体 重点: 当条件为真的时候,就进入循环体,从上到下依次执行,执行完最后一条语句时,while并不是直接退出 ...

  5. Python基础二(输入与输出)

    通常,一个程序都会有输入/输出,这样可以与用户进行交互.用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出给用户想要的结果.Python的输入/输出,我们可以用input进行输入,pr ...

  6. python基础知识梳理----2格式化输出,替换符

    一:格式化输出 1: 格式: 例子: name=input('请输入name') print('名字是%s'%name) %s就是代表字符串串占位符,除此之外,还有%d, 是数字占位符, 如果把上⾯面 ...

  7. python基础之循环语句,格式化输出以及编码

    1.while循环语句 1.1 常见的几种结构    1. while+判断条件 循环体 2. while+判断条件 循环体 else 语句 tips:while循环如果满足条件的话,会一直循环循环体 ...

  8. python基础===* 解包,格式化输出和print的一点知识

    python3中的特性: >>> name = "botoo" >>> print(f"my name is {name}" ...

  9. python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支

    python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...

  10. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

随机推荐

  1. 使用hangfire在xunit中

    框架为:abp hangfire配置连接:https://aspnetboilerplate.com/Pages/Documents/Hangfire-Integration 在单元测试中如何配置呢? ...

  2. Linux性能优化实战学习笔记:第四讲

    一.怎么查看系统上下文切换情况 通过前面学习我么你知道,过多的上下文切换,会把CPU时间消耗在寄存器.内核栈以及虚拟内存等数据的保存和回复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶 既 ...

  3. python3中用django下载文件,中文名乱码怎么办?

    前段时间被某个前端小可爱鄙视了一下,说我博客都一年不更新了,我不服,明明还有俩月才到一年呢.不过说是这么说,还是要更新一下的. 以上都是借口,下面开始正文.     我公司的某个内部系统,用djang ...

  4. sonatype nexus安装教程

    1. 安装nexus前需要先安装maven.(详见jdk安装教程)2. 将nexus-2.0.2.rar放到d:\teamwork中,点击右键,解压到当前文件夹中.其中包含两个文件夹:nexus,so ...

  5. redis-安装卸载

    1.安装service服务 redis-server --service-install [配置文件位置,如:redis.conf] (--service-name 服务名称) 2.启动service ...

  6. netcat 传输T级别大文件

    接收端 nc -d -l 5002 |tar xf - nohup  sh receive.sh  &   发送端 tar cf - . | nc  1.1.1.1  5002 nohup   ...

  7. Python 中把一个list 列表分组/分块

    比如:将list:[1,2,3,4,5,6,7,8,9]按照下标顺序分成3组:[1,2,3] [4,5,6] [7,8,9]或分成5组:[1,2,] [3, 4] [5,6] [7, 8] [ 9 ] ...

  8. 使用velero进行kubernetes灾备

    使用velero可以对集群进行备份和恢复,降低集群DR造成的影响.velero的基本原理就是将集群的数据备份到对象存储中,在恢复的时候将数据从对象存储中拉取下来.可以从官方文档查看可接收的对象存储,本 ...

  9. 【MySQL】Mariadb字符集

    Mariadb字符集 如果不设置字符集,可以查看mariadb的字符集的默认设置是latin1. 如下命令,查看Mariadb的默认配置: [root@oradb ~]# /usr/local/mys ...

  10. Charles设置断点- (超详解)

    1.选择你要设置断点的接口 2.右键选择 Breakpoints 3.断点的相关配置, Proxy ——>Breakpoint Settings 5.双击刚刚已经设置的断点接口,进行设置 6. ...