python——数据类型,与用户交互,格式化输出,运算符_python 交互式 输出格式-程序员宅基地

技术标签: python  笔记  开发语言  

一.基本数据类型

基本数据类型之列表

  • 本质
    可以存储多个数据,并且可以从中获取多个数据。
  • 书写格式
    用中括号括起来,括号内可存多个数据,其中数据值和数据类型可以是任何数据类型。
    eg:
list = [{
    "name": '李智强'},18,[21,22,23]]
  • 关键字:list
  • 索引取值
    当我们在列表中去取某一个或者多个值时,注意数字是从“0”开始
    当我们从列表中只取一个数值的时候:
list = [111,222,333,444,555]
print(list[1])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
222

Process finished with exit code 0

当我们从列表中只取两个及以上数值的时候:

list = [111,222,333,444,555]
print(list[1],list[3])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
222 444

Process finished with exit code 0

当一组列表出现了多种数据类型的时候:

方法一:多步骤
list = [11, 11.11, 'jason', [11, 22, 33]]
list1 = list[3]
print(list1[1])
方法二:一步到位
list = [11, 11.11, 'jason', [11, 22, 33]]
print(list[3][1])
输出的结果都是:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
22

Process finished with exit code 0

基本数据类型之字典

  • 本质
    可以存储多个数据,并且可以从中获取多个数据,并且对于数据有一定的解释。
  • 书写格式
    用大“{}”括号括起来,括号内可存多个数据,其中数据值和数据类型是K:V对应关系。
    K:对于V的描述信息,一般为字符串。
    V:真实的数据值,可以是任何数据类型。
    eg:
list_dict = {
    "name":"李智强","age":18,"job":"程序员"}
  • 关键字:dict
  • 取值
    eg:取’age’的值
方法一:多步骤完成
data = {
    'name': 'jason','others': [111,222,{
    'a1': '嘿嘿','a2': '哈哈','a3': [123,{
    'name': 'jason1','age': 18}]}]}
#取大字典中的值
print(data['others'])
#再获取其中列表的值
l1 = data['others']
print(l1[2])
#获取小字典的值
l2 = l1[2]
print(l2['a3'])
#获取小字典中小小字典中的值
l3 = l2['a3']
print(l3[1])
#获取小小字典中'age'的值
l4 = l3[1]
print(l4['age'])
方法二:一步到位
data = {
    'name': 'jason','others': [111,222,{
    'a1': '嘿嘿','a2': '哈哈','a3': [123,{
    'name': 'jason1','age': 18}]}]}
print(data['others'][2]['a3'][1]['age'])
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
18

Process finished with exit code 0

基本数据类型之布尔值

  • 本质
    用来对事物进行判断,是否正确,是否合理(总共就两种)
  • 两种基本使用
  1. is_right = True #真正,正确,是,对
  2. is_delect = False #否,错误

注:不同的语言环境也有不同的使用方式。

  • 介绍
    其实布尔值看似挺简单的,简单。但是布尔值运用最为频繁。
    布尔值一般是is开头 #君子协议(不易改变)

  • 布尔值类型转换
    布尔值为Flase的数据有:
    0,none,空字符串,空列表,空字典 …
    其他的数据都是True类型

  • 关键字:is

基本数据类型之元组

  • 本质
    其实元组与列表挺像的,可以存储多个数据,并且可以从中获取多个数据。但是元组不能更改数据(只能看不能改)!!!
  • 作用
    用于一些不更改的数据存储
  • 基本使用
t1 =11,22,33#可以是任何数据类型
  • 关键字:tuple
  • 与列表对比
    列表中存储的数据可以更改,但元组能数据不可更改(“只能看不能改”)
列表:
t1 = [11,22,33]
t2 = 12
t1[0] = t2
print(t1)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
[12, 22, 33]

Process finished with exit code 0
元组:
t1 =11,22,33)
t2 = 12
t1[0] = t2
print(t1)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 28, in <module>
    t1[0] = t2
TypeError: 'tuple' object does not support item assignment

Process finished with exit code 1

基本数据类型之集合

  • 本质
    集合只用于去重and关系运算。
    去重:自动去除重复的数据。
    关系运算:判断两个集合之间数据的关系。
  • 基本使用
s1 = {
    1,2,3,4,5,6}
  • 关键字:set
  • 如何创建一个空集合?
d1 = {
    }
s1 = {
    }
print(type(d1))
print(type(s1))  # 当括号里没有数据时数据类型默认为字典
ss = set()
print(type(ss))

与用户交互

  • 输入
    计算机接受信息
    关键字:input
    eg:
input('请输入用户名:')
  • 输出
    计算机向外界传输信息
    关键字:print
name = input('请输入用户名:')
print(name)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
请输入用户名:李智强
李智强

Process finished with exit code 0

name1 = 'jason'
name2 = 'tony'
print(name1,name2)

格式化输出

eg:

方法一:
info = "name:%s,age:%s"
print(info %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
name:李智强,age:18

Process finished with exit code 0
方法二:
print("name:%s,age:%s" %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
name:李智强,age:18

Process finished with exit code 0

占位符:%s和%d
区别:
%s:支持所有数据类型的替换(运用的最多)
%d:只允许数字占位
eg:

info = "name:%d,age:%d"
print(info %("李智强",18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 51, in <module>
    print(info %("李智强",18))
TypeError: %d format: a number is required, not str

Process finished with exit code 1

当需要占位的时数字时

info = "weight:%d,age:%d"
print(info %(71.1,18))
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
weight:71,age:18

Process finished with exit code 0

基本运算符

  • 基础

加:+
减:-
乘:*
除:/
整除://
取模(余数):%
幂指数:**(次方)

  • 变种情况

x = 10
x = x + 100 >>> x +=100
x = x - 5 >>> x -= 5
x = x * 5 >>> x *= 5
x = x / 2 >>> x /= 2
注:初学者不建议使用后面的一种方法(多敲代码)

  • 比较运算符

== 等于
!= 不等于

多种赋值符号

  • 解压赋值

赋值符号的左边一定要有至少两个及以上的名字
并且赋值符号左边的名字一定要等于右边数值的个数(多了和少了都不行)

eg:

当赋值符号两边不等时
name1,name2 = 'jason'
print(name1,name2)
输出结果:(报错)
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 53, in <module>
    name1,name2 = 'jason'
ValueError: too many values to unpack (expected 2)

Process finished with exit code 1

当赋值符号两边个数相等时
name1,name2 = 'jason','tony'
print(name1,name2)
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
jason tony

Process finished with exit code 0

eg2:

name_list = {
    'jason','tony','tom'}
a,b = name_list
print(a,b)
输出结果:(报错)
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3/04 今日作业.py", line 54, in <module>
    a,b = name_list
ValueError: too many values to unpack (expected 2)

Process finished with exit code 1
  • 特殊情况
    eg:
l1 = [11,22,33,44,55,66,77,88,99]
a,b,*c = l1
print(a,b)  # 11 22
print(c)  # [33,44,55,66,77,88,99]
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
11 22

Process finished with exit code 0
  • 链式赋值
    x = y = z =10
  • 交叉赋值
m = 10
n = 20
m,n = n,m
print(n)  # 10
print(m)  # 20
输出结果:
D:\python.3.6.4\python36.exe "D:/pythonProject/pythonProject_day3/04 今日作业.py"
10
20

Process finished with exit code 0

今日作业:

  • 作业一
title = "%s info of %s %s"
print(title %('-'*10,"李智强",'-'*10))
info = "Name:%s\nAge:%s\nGender:%s\nJob:%s"
print(info %("李智强",21,"男","程序员"))
print('-'*15,'end','-'*15)

在这里插入图片描述

  • 作业二
    当在python2解释器其中运用输入代码input时会出现以下报错:
SyntaxError: Non-ASCII character '\xe8' in file E:/pythonProject/Day03��2.7��������/2.7������.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

通过百度搜索,我们应该在首行代码加:

 #encoding=utf-8

输入:
在python2中当我们用input作为输出指令时:

name = input("请输入用户名:")
print name

当我们在输入框中输入“李智强”时,会报出以下错误:

Traceback (most recent call last):
  File "D:/pythonProject/pythonProject_day3��ҵ/01 python2.py", line 2, in <module>
    name = input("请输入用户名:")
  File "<string>", line 1
    李智强
    ^
SyntaxError: invalid syntax

这时我们应该采用raw_input作为输入指令,而在python3中我们使用input作为输入指令。

输出:
在python2和python3未发现明显区别

name = "李智强"
print name
print(name)

结果:
D:\Python27\python2.exe "D:/pythonProject/pythonProject_day3作业/01 python2.py"
李智强
李智强

Process finished with exit code 0
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lzq78998/article/details/125376261

智能推荐

使用Selenium模块编写自动化爬虫程序_idea 创建selenium 爬虫-程序员宅基地

文章浏览阅读1.5k次。在编写自动化爬虫程序时,我们可以使用Selenium模块来模拟浏览器的行为,实现更复杂的爬取操作。Selenium模块是一个强大的工具,可以自动化地控制浏览器进行页面的加载、点击、填写表单等操作。本文将介绍如何使用Selenium模块编写自动化爬虫程序,以及如何获取代理、分页和乱序爬取的技巧。_idea 创建selenium 爬虫

使用python .pcm音频文件多声道数据分离与转化为浮点数_pcm为浮点数-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏5次。使用python .pcm音频文件多声道数据分离与转化为浮点数,如何使用python语言将pcm音频流文件转为数值矩阵,多声道进行声道分离,便于对每个单声道进行观察,下面我写了一个函数(借用了AudioSegment)用于解决这个问题。_pcm为浮点数

数字孪生Web3D智慧机房可视化运维云平台建设方案_维谛 机房安全感知数字孪生平台-程序员宅基地

文章浏览阅读619次。面向数据中心办公区管理部门打造的数字化解决方案,综合运用大数据、物联网、数字孪生等技术,通过三维建模,对园区外部环境、楼宇建筑、机房空间、机柜设备进行3D可视化呈现,直观展示机房动力环境和机柜运行情况,包括UPS、供线、空调、温湿度、安防、消防、机柜容量、端口等管理要素,辅助管理人员远程掌握机房态势,有效提高机房综合监管能力、降低园区运营成本,实现管理精细化、决策科学化和服务高效化。在智慧机房平台上,可视化展示机房实时能耗情况、调节情况、PUE分析、节能成效分析等,实现智慧节能。_维谛 机房安全感知数字孪生平台

java编程思想第四版第十一章习题-程序员宅基地

文章浏览阅读191次。第一题package net.mindview.holding.test1;import java.util.ArrayList;import java.util.List;/** * 沙鼠 * @author samsung * */public class Gerbil { static int counter; int ..._java编程思想第四版 第11章习题

Windows下Scoop安装、配置与使用_scoop会全部下载到c盘吗-程序员宅基地

文章浏览阅读1.6k次。Scoop简介Scoop是Windows的命令行安装程序,是一个强大的包管理工具。可以在github上找到其项目的相关信息,项目网址。安装的起因:在平常生活中如果要安装像gcc、git等一些需要手动配置相关参数的工具,需要先去官网下载安装程序,点击安装,之后还需要配置,不仅过程麻烦,而且工具多了之后整理起来也相当不容易,配置也很杂,整个电脑就像被污染了一样。而scoop可以很好地解决这一问题,安装scoop后,只需要在命令行输入简单的一串命令即可安装你想要的软件。比如我想安装gcc,只需要输入s_scoop会全部下载到c盘吗

BAT command-程序员宅基地

文章浏览阅读138次。http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.htmlBAT常用命令1、@ 它的作用是隐藏它后面这一行的命令本身(只能影响当前行)。 2、echo 中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on和echo off两个命令了。直接执行ec..._batcat command

随便推点

基于transformer的端到端语音识别模型解析-程序员宅基地

文章浏览阅读526次,点赞17次,收藏10次。语音识别作为人机交互的重要技术之一,在近年来得到了飞速的发展。传统的语音识别系统通常由声学模型、语言模型和解码器三个主要部分组成,需要进行复杂的管道式处理。随着深度学习技术的不断发展,出现了基于端到端(end-to-end)的语音识别模型,能够直接从原始语音信号中输出文本序列,大大简化了系统结构。其中,基于Transformer的端到端语音识别模型在近年来取得了突破性的进展,在多个公开数据集上取得了领先的识别性能。

用于医学图像分割的数据增强方法 —— 标准 imgaug 库的使用方法_医学图像分割 数据增强-程序员宅基地

文章浏览阅读9.3k次,点赞22次,收藏93次。用于医学图像分割的数据增强方法 —— 标准 imgaug 库的使用方法前言 —— imgaug 库简介在机器学习算法尤其是 deep learning 盛行的如今,数据增强是实现深度学习不可避免的一个重要环节。相比于 tensorflow 或者 pytorch 自带的数据增强库而言,基于 imgaug 库的数据增强具有更加友好的 API 和更加丰富的功能。下面主要介绍在医学图像分割算法中,i..._医学图像分割 数据增强

11_关于SqlMapperConfig.xml-程序员宅基地

文章浏览阅读230次。【简述】SqlMapConfig.xml是Mybatis的全局配置文件,配置内容如下:1.properties---------属性2.settings-----------全局配置参数3.typeAliases--------类型别名4.typeHandlers------类型处理器5.objectFactory-----对象工厂6.plugins----------..._sqlmapperconfig.xml 不被xml识别

Pandas学习笔记13_pandas 连接数据库01_pandas 的conn-程序员宅基地

文章浏览阅读184次。1、导包import pandas as pdimport pymysqlfrom sqlalchemy import create_engine2、连接数据库方法1:用pymysql库连接数据库的写法conn = pymysql.connect( host = '127.0.0.1', user = 'root', password = 'root', db = 'qinlu', port = 3306, charset = 'utf8')_pandas 的conn

变分自动编码器-程序员宅基地

文章浏览阅读138次。变分自动编码器自编码器中间层的编码维度要远远小于输出数据,整个模型训练目标为最小化重建输入数据误差 标准自编码器面临的问题在于 自编玛器将输入数据转为隐空间中的表达式不是连续的,使得解码器对于存在于类别之间的区域无法进行解码,因此提出了变分自编码器 变分自编码器变分自编码器的隐空间设计为连续的分布以便进行随机采样和插值,编码器输出两个n维向量,分别为均值向量u以及标准差..._变分自动编码器的利处

html5图像调整大小,JavaScript调整HTML5画布中图像的大小-程序员宅基地

文章浏览阅读168次。因此,如果所有浏览器(实际上,Chrome 5给我提供了一个不错的浏览器)都无法为你提供足够好的重采样质量,你该怎么办?然后,你自己实现它们!哦,来吧,我们正在进入Web 3.0的新时代,符合HTML5的浏览器,超级优化的JIT javascript编译器,具有大量内存的多核(†)机器,你担心什么javascript中有java一词,因此应该保证性能,对吗?看一下,缩略图生成代码:// retur..._html5证明改变所有图形统一大小和

推荐文章

热门文章

相关标签