引言

小伙伴们昨天已经讲了一点python的数据类型了,今天我们来讲讲python剩下的数据类型以及运算符,一些小伙伴已经可以开始尝试写点简单的小程序了。坚持就是胜利同志们,fighting!!!


数据类型

字典

相比于列表,字典可以精准的找到存储的数据,字典使用花括号括起来的,括号内存放的是键值对,键值对之间用逗号隔开,键即key是用来描述值的。值即value是真正的数据,value可以是任意数据类型。因为字典是无序的,不能用索引来查找数据,需要靠键(key)来进行引用数据,所以键是唯一的,当有多个同名键的时候,最后的会代替掉前面,值可以不唯一。

tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}  # 字典
tinydict['Name'] # 字典取值

字典键的特性

  1. 不允许同一个键出现两次及以上。创建时如果同一个键被赋值两次,最后面的那个会被记住。
  2. 键必须不可变。因此,键只能用字符串、数字、元组来当。

集合

集合的功能很单一基本上是用来去重和关系运算,使用频率很低。集合是用大括号括起来的,括号里面装的不是键值对。集合是一个无序不重复的元素序列,如果大括号定义空的数据那么这个数据集的类型就是字典,创建空集合是用set()。

s = {1, 2, 3, 4 ,5}  # 集合
s = set() # 空集合

元组

元组和列表相似,使用的是小括号,元组存储的数据一般是只给看不能改的。任意无符号的对象,以逗号隔开,默认为元组。小括号括起来,里面可以放一个或多个元素,元素之间用逗号分隔,元素可以是任意数据类型。

注意:当元组中只有一个元素时要在元素后面加个逗号,不加逗号就不是元组而是其它单个的数据类型。

t = (1, 2, 3, 4, 5)  # 元组
t = 1, 2, 3, 4, 5 # 默认为元组

布尔值

布尔值只有两种状态,True意为正确,False意为错误。布尔值是被用来在逻辑判断中描述事物对错的。除了0、None、一些空的数据集等外都是True。同时,布尔值的变量名是以is开头的,比如is_right、is_delete等。

用户交互

与用户交互主要是涉及到输入和输出,使用input来获取用户的输入数据,在python3.x中,input获取的数据都会转换成字符串型,而python2.x中只有raw_input和input几乎一样外,python2.x中的input在用户输入数据时,用户输入的是什么数据类型,就是什么数据类型。用print在计算机中将输入数据打印出来。

age = input("请输入你的年龄:")  # 输入18
print(type(age)) # str python3.x
age = input("请输入你的年龄:") # 输入18
print(type(age)) # int python2.x
age = raw_input("请输入你的年龄:") # 输入18
print(type(age)) # str python2.x

格式化输出

格式化输出主要知识就是占位符,%s可以给任意数据占位,%d只能给数字占位。

name = 'king'
age = 18
gender = 'male'
print("我的名字叫%s,今年%s岁,性别%s" % (name, age, gender)) # 第一种格式化输出
print(f"我的名字叫{name},今年{age}岁,性别{gender}") # 第二种格式化输出,要求python3.6及以上。

运算符

乘 ==> *
除 ==> /
整除 ==> //
取余 ==> %
等于 ==> ==

增量赋值

增值赋值是为了少写一个变量名,增值赋值相比一般赋值在内存中具有空间占用优势,数学赋值计算中,+有合并的用法,list1 = list1 + list2会改变list1的地址,但list1 += list2不会改变list1的地址。

x += 100  # x = x + 100
x -= 100 # x = x - 100
x /= 100 # x = x / 100
x *= 100 # x = x * 100

链式赋值

链式赋值没什么好讲的直接上过程

x = y = z = 100
'''
上述链式赋值等价于
x = 100
y = x
z = x
链式赋值的原理是,找一个中间变量先指向变量值,然后让x,y,z都指向temp指向的变量值。
temp = 100
x = temp
y = temp
z = temp
'''

交叉赋值

继续上过程,但是记住交叉赋值可以多个变量,但是为了防止被绕晕,建议数量不要太多。

m = 10
n = 100
m, n = n, m

解压赋值

在正常情况下,解压赋值需要注意变量的个数要和列表的元素个数一样。

ls = [12, 32, 51, 62, 36, 78]
age1, age2, age3, age4, age5,age6 = ls # 左右数量要一致
'''打破数量限制'''
a, b, *_ = ls # a, b, *_ ==>12, 32, [51, 62, 36, 78]
a, *_, b = ls # a, b, *_ ==>12, [32, 51, 62, 36], 78
'''
星号后面可以是任何符合变量命名标准的变量名,当用单独下划线作为变量名时意味着,指向的值暂时用不到,星号的意思就是取暂时不要的值赋值给星号后面的变量名,并以列表的形式体现。
'''

逻辑运算符

and即与,连接多个条件必须都满足才为True,or即或,连接多个条件必须都不满足才为False,not即非,用来翻转条件的,True翻转后为False,False翻转后为True。

注意:三个逻辑运算符之间是有优先级的,not>and>or,但是一般情况下,我们在写逻辑运算时都会用小括号去强制逻辑顺序。

3 > 2 and 10 < 100 and 1 > -1  # True
3 < 2 or 10 > 100 or 1 < -1 # False
not True # False

成员运算符

成员运算符用于判断个体是否在某个数据群内,用in。是否不在用not in。

ls = ['king', 'guido', 'java', 'JavaScript']
print('king' in ls) # True
print('king' not in ls) # False

身份运算符

身份运算符is用于判断两个数据在内存中的地址是否一样,即id是否一样。==用于判断两个值是否一样。python为了避免频繁的创建和销毁对象,python采用了缓存池技术,[-5,257),在缓存池中的数值不管怎么赋值id都是一样,当然把大于257的值赋值给一个变量名,再把该变量名指向的变量值赋值给另一个变量名,两个变量名地址一样。

a = 1
b = 1
print(a is b) # True
print(a == b) # True
a = 257
b = 257
print(a is b) # False
print(a == b) # True

初识python(2)的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  2. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  3. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  4. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  5. 篇2 安卓app自动化测试-初识python调用appium

    篇2              安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...

  6. 2017-06-22初识python

    初识python #!/usr/bin/env python (python解释器的文件路径)# -*- coding:utf-8 -*- (使用的编码内型)# python 2.7 <需要加第 ...

  7. day01 初识Python

    今日主要内容 1.初识python 2.简单了解下python的数据类型 nubmer=int(input("请输入数字大小:")) if nubmer>66: print( ...

  8. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  9. 初识python(二)

    初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...

  10. 初识python (一)

    初识Python(一) python2和python3的一些区别 Python2 和 Python3 区别汇总:http://www.cnblogs.com/bigtreei/p/7806288.ht ...

随机推荐

  1. alpakka-kafka(9)-kafka在分布式运算中的应用

    kafka具备的分布式.高吞吐.高可用特性,以及所提供的各种消息消费模式可以保证在一个多节点集群环境里消息被消费的安全性:即防止每条消息遗漏处理或重复消费.特别是exactly-once消费策略:可以 ...

  2. 我在 Gitee 上发现了一个简洁又好用的网络音乐播放器!

    这几天无聊的时候我想听听歌,但我想要找一个简单快速的网络音乐播放器来用用.这时我在 Gitee 上看见一个看上去不错的开源项目 -- Hi音乐. 项目链接:https://gitee.com/hi-j ...

  3. ApacheCN - 关于我们

    1.简单介绍一下 ApacheCN? ApacheCN 是 2016 年 8 月份就开始搭建网站雏形, 2017 年 6 月份正式全职来做,是国内第一个有组织性.敢带人装逼.敢真的分享.并且敢戴绿帽的 ...

  4. JavaBeginnersTutorial 中文系列教程·翻译完成

    原文:JavaBeginnersTutorial 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远. 在线阅读 ApacheCN 学习资源 目录 ...

  5. Git标签 简单操作

    感谢廖雪峰老师,以下内容多数来自老师的Git教程. 另有部分参考Git中文文档. 创建 命令git tag <tagname> [commit id]用于新建一个标签,默认为HEAD; 也 ...

  6. linux中shell变量$#等的释义

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: 1. $$ Shell本身的PID(ProcessID) 2. $! Shell最后运行的后台Process的PID 3 ...

  7. axios取消接口请求

    axios取消请求 这里就是分析一下接口请求需要被取消时的一些操作 因为我是用vue写的项目,所以标配用的是axios,怎么在axios中取消已经发送的请求呢? 1.在这之前我们还是先介绍一下原生js ...

  8. CSS3带你实现3D转换效果

    前言 在css3中允许使用3D转换来对元素进行格式化,在原本只是2D转化的平面中引入了Z轴.在这之前我们讲解了css3中的2D转换,也就是二维空间变换,本篇的3D转换就是基于原来的2D转换而来,与2D ...

  9. axios请求配置

    全局配置示例(在js文件配置): axios.defaults.baseURL = 'https://api.example.com'; axios.defaults.headers.common[' ...

  10. apt安装zabbix

    下面介绍基于ubuntu18.04,使用apt在ubuntu安装zabbix 4.0.x版本.规划在10.0.0.101主机安装zabbix server,在10.0.0.104安装提供msyql服务 ...