引言

小伙伴们昨天已经讲了一点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. 人口信息普查系统-JavaWeb-四

    今天给大家分享前端人口登记页面,人口查询页面 人口登记 <%@ page language="java" contentType="text/html; chars ...

  2. python3调用js的库之execjs

    执行JS的类库:execjs,PyV8,selenium,node execjs是一个比较好用且容易上手的类库(支持py2,与py3),支持 JS runtime. 1.安装: pip install ...

  3. Maven仓库的目录结构

    _remote.repositories文件 本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implem ...

  4. Jackson转换为Collection、Array

    1. Jackson转化为Array 注意的地方就是实体类一定要有无参的构造方法,否则会报异常 //com.fasterxml.jackson.databind.exc.InvalidDefiniti ...

  5. git rebase git merge

    Git rebase 使用方法 1. git checkout feature 2. git rebase master feature 相当于git rebase master + git chec ...

  6. iOS开发笔记,简单实现视频音频的边下边播

    总是在网上看别人的博文,受益匪浅,从没自己写过,今天分享一点小经验,第一次写技术博客,希望对同行的ios猿们有所帮助.   先介绍一下自己的情况:一年ios开发,http协议不太懂,大约知道断点下载h ...

  7. 解析视频真实地址播放 By HL

    手思3.0启动,从手思1.0版的iOS2个人,到现在的N个人,如今又回来做手思了. 重新做自然就要比之前的更好,更强大,而视频播放页的效果相当的不乐观. 公司用的是优酷的视频连接,只能用webview ...

  8. webfunny前端系统:如何解决警报设置触发常见问题

    大家好,经常会有小伙伴在使用webfunny监控系统中,遇到无法触发警报的问题,其实都是一些配置上的疏漏,在这里给大家总结一下: PS:只要消息中心里有警报,则说明触发机制没有问题.其他方式没有触发, ...

  9. 2、网络并发编程--套接字编程、黏包问题、struct模块、制作简易报头、上传文件数据

    昨日内容回顾 面向对象复习(json序列化类) 对象.类.父类的概念 三大特性:封装 继承 多态 双下开头的方法(达到某个条件自动触发) __init__:对象实例化自动触发 __str__:对象执行 ...

  10. windows设备相关位图与设备无关位图

    windows支持两种位图格式,DDB(device-dependent bitmap),DIB(device-independent bitmap).设备相关位图用于windows显示系统中,其图像 ...