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

数据类型
字典
相比于列表,字典可以精准的找到存储的数据,字典使用花括号括起来的,括号内存放的是键值对,键值对之间用逗号隔开,键即key是用来描述值的。值即value是真正的数据,value可以是任意数据类型。因为字典是无序的,不能用索引来查找数据,需要靠键(key)来进行引用数据,所以键是唯一的,当有多个同名键的时候,最后的会代替掉前面,值可以不唯一。
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} # 字典
tinydict['Name'] # 字典取值
字典键的特性
- 不允许同一个键出现两次及以上。创建时如果同一个键被赋值两次,最后面的那个会被记住。
- 键必须不可变。因此,键只能用字符串、数字、元组来当。
![]()
集合
集合的功能很单一基本上是用来去重和关系运算,使用频率很低。集合是用大括号括起来的,括号里面装的不是键值对。集合是一个无序不重复的元素序列,如果大括号定义空的数据那么这个数据集的类型就是字典,创建空集合是用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)的更多相关文章
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- Python开发【第一篇】:初识Python
初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- 初识python面向对象
一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...
- 篇2 安卓app自动化测试-初识python调用appium
篇2 安卓app自动化测试-初识python调用appium --lamecho辣么丑 1.1概要 大家好!我是lamecho(辣么丑),上一篇也是<安卓app自动化测 ...
- 2017-06-22初识python
初识python #!/usr/bin/env python (python解释器的文件路径)# -*- coding:utf-8 -*- (使用的编码内型)# python 2.7 <需要加第 ...
- day01 初识Python
今日主要内容 1.初识python 2.简单了解下python的数据类型 nubmer=int(input("请输入数字大小:")) if nubmer>66: print( ...
- @1-2初识Python爬虫
初识Python爬虫 Python爬虫(入门+进阶) DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...
- 初识python(二)
初识python(二) 1.变量 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用. 1.1 声明变量: #!/usr/bin/env python # -*- coding: utf- ...
- 初识python (一)
初识Python(一) python2和python3的一些区别 Python2 和 Python3 区别汇总:http://www.cnblogs.com/bigtreei/p/7806288.ht ...
随机推荐
- 面向次世代的Windows App SDK 近况
Project Reunion作为面向次世代Windows App Development的统一工具集.在2021年11月,第三个稳定版正式以1.0的版本号发布的同时,改名部果断出手,以全新的名称Wi ...
- django之djangorestframework序列化操作
只介绍序列化操作:serializers.ModelSerializer 与 serializers.Serializer 使用序列化的目的:将数据序列化成 JSON 对象 当页面上需要动态加载内容 ...
- RocketMq如何顺序消费的消息offest
RocketMq对于消费者对于消息的如何处理的 1:如果设置了自动提交 返回: ConsumeOrderlyStatus.COMMIT, ConsumeOrderlyStatus.ROLLBACK, ...
- ApacheCN PythonWeb 译文集 20211110 更新
Django By Example 中文版 1 创建一个博客应用 2 为博客添加高级功能 3 扩展你的博客应用 4 创建一个社交网站 5 分享内容到你的网站 6 跟踪用户动作 7 构建在线商店 8 管 ...
- ABC209 E Shiritori
考虑对这个问题进行转化: 显然我们只关注每个串前三个棋子和后三个棋子,并且根据题目的特性,我们可以将任意的三个字符看作点,将一个字符串看作连接两个点的边,这样我们得到了一张点数为 \(52 ^ 3\) ...
- 使用UrlConnection请求一个url地址获取内容
访问网络需要加Internet权限:android.permission.INTERNET 使用UrlConnection请求一个url地址获取内容: //1.创建一个Url对 ...
- kubeadm/flannel/dashboard/harbor部署以及服务发布
kubeadm/flannel/dashboard/harbor部署以及服务发布 目录 kubeadm/flannel/dashboard/harbor部署以及服务发布 一.部署kubeadm 1. ...
- 经常使用的系统类Math、Arrays、System、BigInteger和BigDecimal以及日期类,时间戳
一.Math 常用类: //看看Math常用的方法(静态方法)//1.abs绝对值int abs = Math . abs(-9);System. out . printLn(abs);//9//2. ...
- 解决使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused问题
使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused的问题 问题描述: 主机与虚拟机可以互相ping通: 防火墙已经关闭 使 ...
- 如何在Kubernetes 里添加自定义的 API 对象(一)
环境: golang 1.15 依赖包采用go module 实例:现在往 Kubernetes 添加一个名叫 Network 的 API 资源类型.它的作用是,一旦用户创建一个 Network 对象 ...