引言

小伙伴们昨天已经讲了一点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. Solaris平台,如何通过端口号快速查看PID(进程)

    1. vi /tmp/test.ksh #!/bin/ksh line='---------------------------------------------' pids=$(/usr/bin/ ...

  2. 信奥题库(OI题库)8月月赛T1题解 幂次数

    0.前置知识 分解质因数 快速幂(不必要) 1.思路 首先,我们知道一个正整数(设它为 \(a\) )一定能分解成这样的形式: \[a= \prod_{i\in N^*} p_i^{c_i} \] 其 ...

  3. js 每日一更(数组转换成前端更容易解析的树状结构)

    <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...

  4. 「JOISC 2016 Day 1」棋盘游戏

    「JOISC 2016 Day 1」棋盘游戏 先判无解:第1,3行有连续的空格或四个角有空格. 然后可以发现有解的情况第1,3行可以在任意时间摆放. 对于某一列,若第2行放有棋子,那么显然可以把棋盘分 ...

  5. Collection和Map集合

    前言 集合的长度是可变的.集合存储的都是对象.而且对象的类型可以不一致. Collection集合和Map集合是所有集合的父接口. Collection接口定义 体系结构的根接口,代表一组对象,有两个 ...

  6. shiro和redis集成,前后端分离

    前言 框架:springboot+shiro+redis+vue 最近写前后端分离授权的对账平台系统,采取了shiro框架,若采用shiro默认的cookie进行授权验证时,一直存在由于跨域造成前端请 ...

  7. 自定义ASP.NET MVC Html标签辅助方法

    原文:https://blog.csdn.net/a497785609/article/details/50184779 在ASP.NET MVC中,Html辅助方法给我们程序员带来很多方便,其重要性 ...

  8. Charles抓取手机包设置

  9. rabbitMq使用guest登录不上的问题总结

    自己mac电脑上的mq在电脑关机(直接按电源键关机),在开机后,rabbitMq连不上了,报500错误. 1.在使用brew uninstall rabbitmq --force后; 2.我手动安装了 ...

  10. SharedPreferences介绍

    sharedPreferences是通过xml文件来做数据存储的.         一般用来存放一些标记性的数据,一些设置信息.        使用sharedPreferences存储数据      ...