Python基础知识-运算符
今日学习内容
用户交互
用户交互就是人向机器发出指令,机器分析处理后,给人们返回操作结果(装13的说法)。直白地讲,就是人往计算机中输入(input)数据,计算机输出(output)结果。交互的本质就是输入、输出。
input() 输入
在python 3.* 的版本中,input() 接收到输入的任何信息,都会以字符串的形式存储
name = input("请输入您的用户名:")
print(name)
print(type(name)) age = input("请输入您的年龄:")
print(age)
print(type(age))在python 2.* 的版本中,input() 接收输入的信息时,必须声明数据类型,系统会以对应的数据类型存储数据。如果没有声明数据类型,系统会出现异常
'''
python 2.* 中,input()在输入值时,需要声明数据类型,否则就会异常
'''
name = input("请输入您的用户名:")
print(name)
print(type(name)) age = input("请输入您的年龄:")
print(age)
print(type(age))异常情况:
正常情况:
python 2.* 版本中的 raw_input() 的使用和功能与python 3.* 中的input() 一样
'''
python 2.* 中,raw_input()输入的值,无须声明数据类型,可以直接接收任何信息
'''
name = raw_input("请输入您的用户名:")
print(name)
print(type(name)) age = raw_input("请输入您的年龄:")
print(age)
print(type(age))print() 输出
将结果从控制台中输出,print()
print("hello world")
格式化输出
%s :占位符,可接收任意类型的变量
name = input("请输入您的用户名:")
age = input("请输入您的年龄:")
print("my name is %s,my age is %s"%(name,age))%d:数字占位符,只能接收数字
name = input("请输入您的用户名:")
age = input("请输入您的年龄:")
age = eval(age)
print("my name is %s,my age is %d"%(name,age))异常情况:将str类型的变量也用%d接收,提示异常
正常情况:
%f:数字占位符,输出浮点数,可用于设置显示数字的精确位数
height = input("请输入您的身高:")
height = float(height)
print("my height is %0.2f m"%(height))format:
按顺序传值
name = input("请输入您的用户名:")
age = input("请输入您的年龄:")
print("my name is {},my age is {}".format(name,age))指定位置传值
name = input("请输入您的用户名:")
age = input("请输入您的年龄:")
print("my name is {name},my age is {age}".format(name=name,age=age))f-string:指定位置传值,该功能只用于python 3.6 以上的版本
name = input("请输入您的用户名:")
age = input("请输入您的年龄:")
print(f"my name is {name},my age is {age}")
基本数据类型
数字类型
整型-int:可以处理任意大小的整数,在程序中的表示和数学的写法一样。可用于定义年龄、手机号码等
浮点型-float:浮点数由整数部分和小数部分组成。浮点数运算可能会有四舍五入的误差。可用于定义体重、身高、薪资等
复数-complex:复数由实数部分和虚数部分组成。可以用 a + bj 或 complex(a,b) 表示。复数的实部a 和虚部b 都是浮点型
var = 1 - 2j
var1 = complex(1,2)
print(var1)
print(var.real) # 复数的实部
print(type(var.real))
print(var.imag) # 复数的虚部
print(type(var.imag))int() 只能转换整数,例如 '1.0' 不能直接转换成int类型的记录,需要从str → float → int
字符串类型:用于存储描述性的信息,比如说爱好,个人简介
本质
在python 3.* 中,str(字符串)本质是拥有8个bit位的序列
在python 2.* 中,str(字符串)本质是unicode序列
单双引号的使用没有区别,但不能混用。字符串中存在引号,嵌套使用
var = "my name is 'xiao',my age is '18'"
print(var)字符串拼接原理:开辟新的空间,将拼接后的值放置进去
列表 List:用于存放一个或多个不同类型的值
在编程中,数值索引是从0开始
l1 = ['dawn',18,['read','study']]
name = l1[0]
age = l1[1]
hobby = l1[2]
print(name)
print(age)
print(hobby)
字典 dict
通过大括号{}存储数据,以{key1:value1,key2:value2,…keyN:valueN}映射关系存储,每个键值对用逗号(,)进行分隔
d1 = {"name":"dawn","age":18,"hobby":['read','study']}
name = d1["name"]
age = d1["age"]
hobby = d1["hobby"][1] print(name)
print(age)
print(hobby)布尔类型 bool:用于判断事物的对错,一般不会单独定义bool变量,大多情况下,结合逻辑判断使用
True / False
== 和 is 的区别
== 比较的是value(值),is 比较的是id(内存地址)
注意
value(值)相等的情况下,id(内存地址)不一定相等;
id(内存地址)相等的情况下,value(值)一定相等。
运算符
算术运算符
运算符 说明 示例 结果 + 加 a = 11.35,b = 10,a + b 21.35 - 减 a = 4.56,b = 2.33,a - b 2.23 * 乘 a = 0.25,b = 4,a * b 1.0 / 除 a = 9,b = 2,a / b 4.5 // 整除,返回商的整数部分 a = 9,b = 2,a // b 4 % 取余,返回除法的余数 a = 9,b = 2,a % b 1 ** 幂,x**y,即返回x的y次幂 a = 9,b = 2,a ** b 81 比较运算符
运算符 描述 == 判断两个操作数的值是否相等 != 判断两个操作数的值是否不相等 > 判断左操作数的值是否大于右操作数 >= 判断左操作数的值是否大于或等于右操作数 < 判断左操作数的值是否小于右操作数 <= 判断左操作数的值是否小于等于右操作数 赋值运算符
增量赋值
运算符 描述 示例 = 将右边的结果赋值给左边的变量 a = 1 += 加法赋值运算 a += 1 # 等同于 a = a + 1 -= 减法赋值运算 a -= 1 # 等同于 a = a - 1 *=,/=,//=,%=,**= 跟加法/减法赋值运算类似 链式赋值:将同一个值赋值给多个变量。
'''
x = 1
y = 1
z = 1
python 用一行代码搞定
'''
x = y = z = 1交叉赋值:定义变量a 和变量b, 将变量a 的值跟变量b 的值交换(任何类型都可以交换)
'''
a = 'str'
b = 1.023
c = ''
c = a
a = b
b = c
'''
a = 'str'
b = 1.023
a,b = b,a解压赋值:将列表中的多个值依次赋值给多个变量
'''
l1 = ['str',2,['dawn'],{age:18}]
a = l1[0]
b = l1[1]
c = l1[2]
'''
a,b,c,*_ = l1
逻辑运算符
运算符 描述 and 逻辑与,用于连接两个条件表达式,如果有一个表达式不符合条件,整个表达式返回False or 逻辑或,用于连接两个条件表达式,如果有一个表达式符合条件,整个表达式返回True not 取反 多个and一起使用时,遇到False 返回 False,否则返回最后一个True
多个or一起使用时,遇到True返回True,返回第一个True
and和or混合使用时,在没有括号的情况下,优先判断and
所有非零的自然数,返回值都为True,0的返回值为False
Python基础知识-运算符的更多相关文章
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- Python 基础知识(一)
1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...
- 开发技术--浅谈python基础知识
开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...
- python基础知识(一)
Python基础知识 计算基础知识 1.cpu 人类的大脑 运算和处理问题 2.内存 临时存储数据 断电就消失了 3.硬盘 永久存储数据 4.操作系统 调度硬件设备之间数据交互 python的应用和历 ...
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
随机推荐
- 在网页中动态地给表格添加一行内容--HTML+CSS+JavaScript
需求描述: 用户在页面上点击按钮,可以把文本框中的数据在表格的新的一行中显示,具体表现如下图: 如果如果输入框内容有一项为空,弹出对话框‘请将数据填入完全 步骤: 1.按钮注册单击事件 2.获取并判断 ...
- dede tag标签静态化
看回那2个文件夹即可,txt说明书我已经修改过. 下面说一下tag标签静态化之后在内容页.列表页中如何使用. 内容页中沿用之前的方法即可: {dede:tag sort='new' getall='0 ...
- 四 mysql之单表查询
目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 1. 什么是分组?为什么要分组? 2. ONLY_FULL_GROUP_BY ...
- Mysql高手系列 - 第19篇:mysql游标详解,此技能可用于救火
Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能. 这是Mysql系列第19篇. 环境:mysql5.7.25,cmd命令中进行演示. 代码中被[]包含的表示可选,|符 ...
- Mac 安装node npm cnpm vue 以及卸载 node 和 npm 的方法 清空npm缓存的方法
S01 安装node(内含npm) 首先,到官网下载长期支持版,截止目前,最新的长期支持版本号是10.16.3 https://nodejs.org/zh-cn/download/ 下载完毕后,安装该 ...
- <<Java并发编程的艺术>>-阅读笔记和思维导图
最近在坚持每天阅读<>,不但做好笔记(MarkDown格式),还做好思维导图. 如果大家感兴趣,可以可以到码云上阅读笔记和到ProcessOn上阅读思维导图. 码云:https://git ...
- Tomcat线程参数maxThreads、acceptCount
一.配置Tomcat/conf/server.xml修改配置 <Connector port="8080" protocol="org.apache.coyote. ...
- 游戏服务器和Web服务器的区别
用Go语言写游戏服务器也有一个多月了,也能够明显的感受到两者的区别.这篇文章就是想具体的聊聊其中的区别.当然,在了解区别之间,我们先简单的了解一下Go语言本身. 1. Go语言的特点 Go语言跟其他的 ...
- A Deep Neural Network Approach To Speech Bandwidth Expansion
题名:一种用于语音带宽扩展的深度神经网络方法 作者:Kehuang Li:Chin-Hui Lee 2015年出来的 摘要 本文提出了一种基于深度神经网络(DNN)的语音带宽扩展(BWE)方法.利用对 ...
- Java 语言特点
引入<Java核心技术:Ⅰ> 1. 简单性 Java 语法是 C++ 语法的一个“ 纯净” 版本.这里没有头文件. 指针运算(甚至指 针语法).结构. 联合.操作符重载. 虚基类等.如果你 ...