基本数据类型

1.字典dict(dictionary)
能够准确的记录储存的信息
"""
大括号里面 放多个元素 之间用逗号隔开
元素为K:V键表示储存
K相对于V一般表示是字符串
V就是变量的值 可以是任意数据类型
"""
dict = {
'name':'bob',
'age':18,
'hobby':'study',
'year':2004
}
字典不支持索引取值 因为字典是无序的
data = {
'username': 'jason',
'age': 18,
'addr': ['北京', '上海', {'省份': [{'安徽': ['合肥', '芜湖'], '上海': ['张江', '青浦', '浦东']}, '河南', '山东']}]
}
# 利用索引和按k取值 获取jason的家乡 芜湖
# 1.先获取键addr对应的值
big_list = data['addr'] # 存储addr对应的大列表
# 2.利用索引取值获取列表第三个元素
little_dict = big_list[2] # 存储小字典
# 3.利用键获取值
little_list = little_dict['省份']
# 4.利用索引取值获取最终的字典
l1_dict = little_list[0]
# 5.利用键取值 再利用索引
print(l1_dict['安徽'][1])
# 也可以直接写出一行代码
print(data['addr'][2]['省份'][0]['安徽'][1])

集合set

这个使用比较少 大括号里面放多个元素
a = {1, 2, 3, 4, 5, 6}
# 大括号里面是空的 默认为字典

元组tuple

和列表基本一样 只不过是小括号
元组只能储存数据 不能改数据
小括号是不可变列表
"""
小括号括起来 内存可以存放多个元素 元素与元素之间逗号隔开 元素可以是任意数据类型
"""
t = (1, 11, 111, 1111)
print(type(t))
# 元组内的数据不能修改
l1 = [3, 4, 5, 6]
print(l1[1], t[1])
l1[1] = 2
print(l1)
t[1] = 3 # 不能修改
print(t)

布尔值bool

只有两个情况
1.True
2.False
这个是用来描述事物的对与错 仅仅这两个情况 用于逻辑
True 表示可以 ok
False 表示不可以 no
"""
在python中所有的数据在进行逻辑判断的时候都会转成布尔值
布尔值默认为False的数据
0 None 空字符串 空列表 空字典...
其他情况布尔值都是True
"""
布尔值变量 一般有is开头的
is_ringht = True
is_dlete = False
is_alive = True

与用户交互

1.获取用户输入
user = input('请输入用户名:')
# input获取用户输入字符串
2.输出内部数据
print(user)
编写方式
方式1 先写print括号内写需要打印的东西
方式2 先写需要打印的东西之后使用句点符跟print之后tab键即可
# 括号内还支持一次性打印多个数据 逗号隔开即可

格式化输出

# 提前定义好模板 之后修改特定的区域即可

'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx'

 s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
print(s % ('bob', 2,19, 69))
print(s % ('alun', 2, 159, 32))
print(s % ('davi', 2, 99, 123))

username = input('username:')
age = input('age:')
print('my name is %s my age is %s' % (username, age))
"""占位符:%s %d"""
%s可以给任意数据占位
%d只能给数字占位
print('%08d' % 111) # 00000111
print('%08d' % 2) # 00000002

运算符

乘(*)   除(/)  整除(//)   取余(%)   等于(==)
不等于(!=)
增量赋值
x += 100 # x = x + 100
x -= 100 # x = x - 100
x *= 100 # x = x * 100
x /= 100 # x = x / 100
链式赋值
x = 100
y = x
z = x
# 简化
x = y = z = 100
交叉赋值
m = 10
n = 999
# 让m指向n指向的值 让n指向m指向的值
# m = n
# n = m
# print(m, n) # 999 999
tmp = m
m = n
n = tmp
print(m, n)
# 交叉赋值
m, n = n, m
print(m, n)
解压赋值
name_list = ['jason', 'kevin', 'tony', 'jerry']
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
# name4 = name_list[3]
# 解压赋值(重要)
# name1, name2, name3, name4 = name_list
# name1, name2 = name_list
# name1, name2, name3, name4, name5 = name_list
"""
1.正常情况下 左右两边的变量名和值个数要相等
2.也可以打破个数限制
"""
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
a, b, *_ = l1
print(a, b, _) # 11 22 [33, 44, 55, 66, 77, 88, 99]
a, *_, b = l1
print(a, b, _) # 11 99 [22, 33, 44, 55, 66, 77, 88]
"""
单独的下划线作为变量名 意思是为了符合语法 但是指向的值用不到的情况
"""

逻辑运算符

and	与
连接多个条件必须都满足 结果才是True
2 > 1 and 1 != 1 and True and 3 > 2 or 或
连接多个条件只要有一个满足 结果就是True
2 > 1 or 1 != 1 or True or 3 > 2 not 非
将条件翻转 True变为False False变为True
not True
"""
三者混合使用的时候是有优先级的 但是我们不需要记
应该人为的在编写初期就强制规定好顺序
(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
"""

成员运算、身份运算

# 成员运算
判断是否在一个群体里面
numb_list = [1, 2, 3, 4, 5]
print(1 in numb_list) # Ture
print(2 not in numb_list) # False
# 身份运算
is:判断两个数据的内存地址是否一致
==:判断两个数据的值是否一致

python数据类型、用户交互和运算符的更多相关文章

  1. Python实现用户交互,显示省市县三级联动的选择

    题目:Python实现用户交互,显示省市县三级联动的选择 定义的字典为: dic = { "江西": { "萍乡": ["安源", &quo ...

  2. 1、python简介-变量-注释-数据类型-用户交互-if语句-while循坏

    一. 计算机是什么 基本组成: 主板+cpu+内存 cpu: 主频, 核数(16) 内存:大小(8G, 16G, 32G) 型号: DDR3, DDR4, DDR5, 主频(海盗船,玩家国度) 显卡: ...

  3. Python的基本数据类型,用户交互

    整数: int 常见的数字都是int类型. 用于计算或者大小的比较 在32位机器上int的范围是: -2**31-2**31-1,即-2147483648-2147483647 在64位机器上int的 ...

  4. Day01-基础数据类型/用户交互/流程控制之-if

    1.基础数据类型 什么是数据类型 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘ ...

  5. JavaScript深入浅出补充——(一)数据类型,表达式和运算符

    项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...

  6. Python的用户交互程序及格式化输出

    1.  用户输入 在Python 3 中,用户输入用input()函数即可实现用户交互程序. 例如,我们根据程序提示输入用户名和密码,并且打印输入的信息. 2. 字符串格式化输出 例如,我们根据程序提 ...

  7. day10学python socket用户交互+MD5加密

    socket用户交互+MD5加密 利用socket从client传输文件指令于server 再返还字节大小与内容 socketserver的使用(重要) 注意: ##client.recv(1024) ...

  8. Python input用户交互

    1.input(),阻塞等待用户输入内容并敲回车. 1 #-*- encoding:utf-8 -*- 2 3 name = input('请输入你的名字') 4 5 age = input('请输入 ...

  9. 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别

    3.2关键字都是小写,TRUE FALSE NULL都不是Java关键字 3.3数据类型 变量相当于一个有名称的容器,该容器用于装各种不同类型的数据 Java类型分为2种 基本类型: 引用类型: 基本 ...

随机推荐

  1. 两个链表有一个交点,如何在时间复杂度 O(n) 和 空间复杂度 O(1) 的条件下实现?_字节跳动面试题

    输入两个链表,找出它们的第一个公共结点 我们可以首先遍历两个链表得到它们的长度,就能知道哪个链表比较长, 我们可以首先遍历两个链表得到它们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个结 ...

  2. java的API

    一.前端 1.jsp展示数据 (1)展示在前端控制台 console.table(参数); (2)弹窗 alert(参数); (3)JSLT的<c:if>标签 <c:if test= ...

  3. 内网穿透系列-Go语言

    一.介绍 软件在KCP出现后进行了重构,将其底层UDP支持替换为了KCP,使其效率大大提高,在某些恶劣的网络环境下依旧能有不错的效果.当然,它也是支持TCP模式的,另外它也是支持加密的,在P2P打洞失 ...

  4. 使用Webpack+Gulp开发运行于Dcloud平台HTML5+引擎的混合APP项目经验分享

    什么是5+Runtime? 首先简单介绍一下5+Runtime: HTML5 Plus Runtime(5+Rumtime)是由Dcloud开发的一套"增强版的手机浏览器引擎",与 ...

  5. Java/C++实现命令模式---多次撤销和撤回

    某系统需要提供一个命令集合(注:可以使用链表,栈等集合对象实现),用于存储一系列命令对象,并通过该命令集合实现多次undo()和redo()操作,可以使用加法运算来模拟实现.\ 类图: Java代码: ...

  6. nginx之配置文件公用抽取

    nginx之配置文件公用抽取 因为某些原因,需要同时部署同一应用两个不同分支的代码,而配置文件存在较大重复,因此有此篇. 最近构建的过程中遇到了一些跟nginx配置相关的问题,记录下. 简单说下构建的 ...

  7. 升级DLL plugin 到AutoDllPlugin

    为了使打包构建速度加快使用的DLLPlugin,但是我们还是需要手动把dll文件引入文件, HTMLwebpackplugin 结合autoDLLplugin可以自动引入打包文件, 十份地方便

  8. QGIS 安装

    QGIS 安装 官网 https://www.qgis.org/ 下载地址 https://www.qgis.org/en/site/forusers/download.html 参考文档 https ...

  9. MySQL存储引擎、基础数据类型、约束条件

    MySQL存储引擎 存储引擎 # 存储引擎可以堪称是处理数据的不同方式 # 查看存储引擎的方式 show engines; # 需要掌握的四个存储引擎 MyISAM MySQL5.5之前的默认的存储引 ...

  10. SpringBoot内外部配置文件加载和优先级

    直接附链接:https://www.pianshen.com/article/28711537583/