python用户交互、基本数据类型、运算符

用户交互

       在实际应用中,我们经常需要用户输入相应信息,根据用户输入信息进行反馈,此时我们需要input/output信息

       python中提供了便捷的输入方法input()和print()

       在python3中

name = input("请输入")
print(name)
print(type(name))

>>>

   请输入123
   123
    <class 'str'>

    Process finished with exit code 0

    >>>

    意味着在python3中用户输入的内容都以字符串的形式保存下来了

    python2中:

   C:\Users\DELL>python2

   Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
   Type "help", "copyright", "credits" or "license" for more information.
    >>> name = input("请输入")
   请输入123
    >>> print(name)
    123
     >>>
     >>> print(type(name))
     <type 'int'>
     >>>

     >>> age = raw_input("请输入")
     请输入123
     >>> print(type(age))
     <type 'str'>
     >>>

    输入123时是以int类型保存下来的

    总结:在python3和python2中,input()方法的区别是py3将用户输入的内容全部以字符串的形式保存下来,而在py2是将用户输入的内容以原格式保存下来,而在python2中,raw_input()的用法和python3中的input()用法一样

格式化输出

name = input("name = ")
age = input("age = ")
hobby = input("hobby = ")
print("name is %s\nage is %s\nhobby is %s"%(name, age,hobby))

>>>
输出结果
>>>

C:\Users\DELL\AppData\Local\Programs\Python\Python37\python3.exe C:/Users/DELL/PycharmProjects/untitled1/day02/day03总结.py
name = 李静
age = 16
hobby = Swimming
name is 李静
age is 16
hobby is Swimming

>>>

>>>

python中%s为字符串占位符,实际上%s可以为任何数据类型占位,输出时双引号后面用%变量名来格式化输出

 

数据类型

1、数字类型:①整数型:age = 18

                                      >>>type(age)

                                      >>>(class 'int')

                        ②浮点型:height = 176.5

                                     >>>type(height)

                                     >>>(class 'float')

2、字符串类型:变量值用单引号双引号或者三引号引起来都可以

     >>> name = "heillo"
     >>> type(name)
     <class 'str'>
     >>>

3、列表类型:可以表示一系列元素,用中括号括起来,元素间用逗号分隔

     >>>val = ["Alex",18,[12,33,"egon"],20]

     >>>type(val)

     <class ‘list’>

     >>>

     列表中的元素可以是各种类型,自然也可以是列表和字典

4、字典类型:可以表示一对一对的元素,元素用花括号括起来:{“键”:值,“键”:值},元素被称为键值对

    >>>val = {"name":"Alex","age":18}

    >>>type(val)

    <class 'dict'>

    >>>

5、布尔类型:bool,用作判断条件用。布尔类型只有两种状态,True和False,所有数据类型都对应布尔值,其中 0,none,空字符串、空列表、空字典等为空的数据是False,其余都是True

     >>> type(10>3)

     <class 'bool'>
     >>>

例:if 10>3:

             print("you are right")

>>>

you are right

>>>

 

运算符

1、数字运算符:+,-,*,/,**,%,//

>>> print(10 + 2)
12
>>> print(10 - 2)
8
>>> print(10 * 2)
20
>>> print(10 / 2)
5.0
>>>
>>> print(10 ** 2)
100
>>> print(10 % 2)
0
>>> print(10 // 2)
5
>>>

2、比较运算符

>>> print(10 != 10)
False
>>> print(10>10)
False
>>> print(10>=10)
True
>>> print(10<=10)
True
>>> print(10<10)
False
>>> print(10 == 10)
True
>>> print(10 > "a")    #数字类型不能与字符串类型比较
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'int' and 'str'


>>> print("abcd" > "abce") 

False

总结  #字符串类型的比较根据字符串字符从左到右开始比较,如果第一个字符谁对应的ASCII码值大则那个字符串大,第一个字符相同则判断第二个字符,以此类推

>>> print(["123",12]>["abc",12])   

False

总结:#列表类型的比较是从第一个元素开始比较,第一个元素谁大则哪个列表大,如果第一个元素相等则比较第二个元素,以此类推,注意,如果比较的元素不是同一类型则报错,如下:

>>> print(["123",12]>[123,12])   #
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
>>>

3、赋值运算符:“=”,age = 19

交叉赋值:

>>> x = 10

>>> y = 20
>>> x,y = y,x
>>> print(x,y)
20 10
>>>

等同于:

>>> x = 10
>>> y = 20
>>> z = x
>>> x = y
>>> y = z
>>> print(x,y)
20 10
>>>

增量赋值:

a = a + 1   <==> a += 1

a = a - 1  <==> a -= 1

a = a * 2 <==> a *= 2

a = a / 2 <==> a /= 2

a = a%2  <==> a %= 2

a = a // 2 <==> a //= 2

a = a ** 3 <==> a **= 3

 

 

解压赋值:将列表中的每个元素分别赋值给变量

>>> L1 = [1,2,3,4]
>>> a,b,c,d = L1  
>>> print(a,b,c,d)
1 2 3 4
>>>

接收元素变量必须与元素个数一致,否则报错,如下:

>>> val = [1,2,3,4,5]
>>> a,b,c = val
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 3)
>>>

 

当列表元素比较多,这时候只想取前两个值和后两个值怎么办呢,看下面代码

>>> L2 = [1,2,3,4,5,6,7,8]
>>> a,b,*_,c,d = L2    #   *_表示将中间不想取的值赋值给"_",此时“_”是个列表
>>> print(a,b,*_,c,d)     #打印*_时即将列表“_”中的元素打印出来
1 2 3 4 5 6 7 8
>>> print(a,b,_,c,d)
1 2 [3, 4, 5, 6] 7 8
>>> print(a,b,c,d)
1 2 7 8
>>>

总结:*_这种方式可以帮我们解决解压赋值必须所有元素都取的困扰,_作为变量来使用,也可以用其他字符替代。但这种方式只在python3中有效

 

4、逻辑运算符: and 、 or 、not,判断条件使用

and :逻辑与,判断左右两个条件,当两个条件任意一个为假时,整体结果为假

>>> print(10 > 2 and "a" > "b")
False
>>>

or:逻辑或,判断左右两个条件,当两个条件任意一个为真时,整体结果为真

>>> print(10 > 2 or "a" > "b")
True
>>>

not:逻辑取反,取条件真假相反的结果

>>> print("a" > "b")
False

>>> print(not "a" > "b")

True
>>>

6、身份运算:is   比较内存地址是否相同   而“”==“”是比较值

>>> x = 10
>>> y = 10
>>> print(x is y)
True
>>> id(x)
140714018137200
>>> id(y)
140714018137200
>>>

注意:变量值相等,内存地址不一定相同,内存地址相同,值一定相等

 

转载于:https://www.cnblogs.com/dongxixi/p/10567420.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pom.xml详细说明

<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "><!-- 父项目的坐标。…

maven如何修改本地仓库与中央仓库

什么是Maven仓库 在不用Maven的时候&#xff0c;比如说以前我们用Ant构建项目&#xff0c;在项目目录下&#xff0c;往往会看到一个名为/lib的子目录&#xff0c;那里存放着各类第三方依赖jar文件&#xff0c;如 log4j.jar&#xff0c;junit.jar等等。每建立一个项目&#xff0…

Maven项目 之eclipse操作篇

使用eclipse创建maven项目大家应该都很熟悉&#xff0c;这里主要说明如何将已创建的非maven项目修改为maven项目。 1.创建测试项目 创建一个Dynamic Web Project &#xff0c;项目结构如图。 2.配置工程类型 右击项目--> Properties --> Project Facets&#xff0c;勾选…

前端jQuery基本语法

jQuery基础语法 #不管找什么标签&#xff0c;用什么选择器&#xff0c;都必须要写$("")&#xff0c;引号里面再写选择器&#xff0c;通过jQuery找到的标签对象就是一个jQuery对象&#xff0c;用原生JS找到的标签对象叫做DOM对象。二者可以相互转换。$()[0]:就是jQuer…

网络工程:3.1 RIP(Routing Information Protocol)协议

遵循协议&#xff1a; 1、特网rip1标准文件&#xff1a;rfc1058 网站 &#xff1a; https://tools.ietf.org/html/rfc1058 2、因特网rip2标准文件&#xff1a;rfc1723 网站 &#xff1a;https://tools.ietf.org/html/rfc1723 使用工具&#xff1a; GNS3 使用路由器文件&a…

为什么要有 hash 和 history

https://www.cnblogs.com/zhaobao1830/p/9269042.html

2:word定制工作界面

1.2&#xff0c;定制工作界面 一、功能区的折叠和展开 设计选项----右上方的向上的箭头 功能区的选项&#xff1a;三个&#xff1a;自动隐藏功能区&#xff0c;显示选项卡&#xff0c;显示选项卡和命令 二、定制快速访问工具栏 如何将一些常用的命令放到一个能便捷找到的地方 第…

JBPM中 使用JobExecutor执行timer定义的job

Job executor在jbpm.cfg.xml中是被缺省注释的&#xff0c;所以只要去掉此行即可通过JobExecutor来定时触发timer中的event-handler了 Xml代码 <jbpm-configuration><import resource"jbpm.default.cfg.xml" /><import resource"jbpm.businessca…

二维码生成

从vs Nugets搜索ThoughtWorks.QRCode下载ThoughtWorks.QRCode.dll private byte[] CreateQrcode(string code){ string enCodeString code;QRCodeEncoder qrCodeEncoder new QRCodeEncoder();qrCodeEncoder.QRCodeEncodeMode QRCodeEncoder.ENCODE_MODE.BYTE;qrCodeEncod…

vue created

https://blog.csdn.net/xdnloveme/article/details/78035065

Qt打开文件对话框同时选中多个文件或单个文件

Qt中打开单个文件 //str_path为文件路径 QString str_path QFileDialog::getOpenFileName(this, tr("选择转码文件"), tr("/home"), tr("视频文件(*.mp4 *.m3u8);;所有文件&#xff08;*.*);;")); 打开多个文件 QString strs; QStringList file…

Activiti Explorer安装

Activiti Explorer安装 分类&#xff1a; activiti 2014-05-06 19:11 349人阅读 评论(0) 收藏 举报 一、Activiti Explorer介绍 流程引擎的用户控制台。使用它来启动新流程&#xff0c;分配任务&#xff0c;查看并认领任务&#xff0c;等等。这个工具也可以用来管理Activ…

一招明白URL和URI的区别

URL和URI的区别(示例)&#xff1a; URL[统一资源定位器]&#xff1a; http://localhost:8080/api/account/queryAccountInfoURI[统一资源定位符]&#xff1a; /api/account/queryAccountInfo解释&#xff1a;说白了&#xff0c;可以认为url是绝对路径&#xff0c;uri是相对路径…

JS ES6中export和import详解

1.Export 模块是独立的文件&#xff0c;该文件内部的所有的变量外部都无法获取。如果希望获取某个变量&#xff0c;必须通过export输出&#xff0c; // profile.js export var firstName Michael; export var lastName Jackson; export var year 1958;或者用更好的方式&am…

巧用地图

L1-1 天梯赛座位分配&#xff08;20 分&#xff09; 天梯赛每年有大量参赛队员&#xff0c;要保证同一所学校的所有队员都不能相邻&#xff0c;分配座位就成为一件比较麻烦的事情。为此我们制定如下策略&#xff1a;假设某赛场有 N 所学校参赛&#xff0c;第 i 所学校有 M[i] 支…

Mac系统中MongoChef链接MongoDB集群的方法

第一步&#xff1a;启动Mongochef&#xff0c;点击链接按钮&#xff1b;第二步&#xff1a;打开连接配置面板&#xff0c;填写数据库名&#xff1b;第三步&#xff1a;选择链接类型Connection Type&#xff0c;一般分为直接连接和集群链接&#xff0c;这里选择集群链接 Replica…

nginx配置文件nginx.conf

user www www;#指定nginx运行的用户及用户组,默认为nobodyworker_processes 8;#开启的线程数&#xff0c;一般跟逻辑CPU核数一致error_log /alidata/log/nginx/error.log crit; #定位全局错误日志文件&#xff0c;级别以notice显示&#xff0c;还有debug,info,warn,error,crit模…

js 中async

一、终极解决 异步操作是 JavaScript 编程的麻烦事&#xff0c;麻烦到一直有人提出各种各样的方案&#xff0c;试图解决这个问题。 从最早的回调函数&#xff0c;到 Promise 对象&#xff0c;再到 Generator 函数&#xff0c;每次都有所改进&#xff0c;但又让人觉得不彻底。…

Python查找指定文件

在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件&#xff0c;并打印出相对路径&#xff1a; import os testfiles [] testfilepaths [] L len(os.path.abspath(.))def searchfile(path):for item in os.listdir(path):if os.path.isdir(os.path.join(p…

搭建Mock Server

搭建Mock Server 1.为什么要搭建mock-server&#xff1f; 为了更好的分工合作&#xff0c;让前端能在不依赖后端环境的情况下进行开发&#xff0c;其中一种手段就是为前端开发者提供一个 web 容器&#xff0c;这个本地环境就是 mock-server。 目前很多前端 mock 数据的方案的…