当前位置: 首页 > article >正文

Python基础(二)

1.python变量

1.1整型变量

变量的值是随时可以变化的,它的值等于最后一次给它赋值的数据
变量通常由字母、数字和下划线组成,但是千万记得不能以数字打头

>>> x = 3         //声明整型变量并赋值为3
>>> print(x)      //打印输出整型变量x
3                 //输出显示
>>> 5201314love = 10
SyntaxError: invalid syntax   //声明变量以数字开头出错,报错信息显示非法语法
>>> 好日子 = 5201314    //python支持中文变量名
>>> print(好日子)       //打印输出变量内容
5201314

1.2字符串变量

>>> print('I love China.')
I love China.
>>> print("I love China.")
I love China.                 //上面的字符串一个是单引号一个是双引号看似两者之间没有区别,但是请往下看
>>>print('Let's go!')
SyntaxError: invalid syntax     //b报错了,原因是let的所有格形式和单引号重复啦!所以,大家看出两者之间的区别了吗?所以上面正确的表达方式是?
>>>print("Let's go!")
Let's go!                     //成功,所以大家在日常写程序的时候要前往注意二者的区别哦!
>>> 

1.3原始字符串

转义字符
转义字符代表地含义

转义字符有时候会带来一些麻烦,例如我要表示一个包含 Windows 路径D:\Program Files\Python 3.8\python.exe这样的字符串,在 Python 程序中直接这样写肯定是不行的,不管是普通字符串还是长字符串。因为\的特殊性,我们需要对字符串中的每个\都进行转义,也就是写成D:\Program Files\Python 3.8\python.exe这种形式才行。

这种写法需要特别谨慎,稍有疏忽就会出错。为了解决转义字符的问题,Python 支持原始字符串。在原始字符串中,\不会被当作转义字符,所有的内容都保持“原汁原味”的样子。

在普通字符串或者长字符串的开头加上r前缀,就变成了原始字符串,具体格式为:

>>> print("D:\three\two\one\now")
D:	hree	wo\one
ow                //  \t代表tab   \n换行   对应代码分别显示
>>> print("D:\\three\\two\\one\\now")
D:\three\two\one\now         //对“\”进行转义
>>> print(r"D:\three\two\one\now")   // 字符串最前面加上r代表这个字符串是一个原始字符串,即
D:\three\two\one\now
>>> 

1.4长字符串

所谓长字符串,就是可以直接换行(不用加反斜杠\)书写的字符串。
Python 长字符串由三个双引号"""或者三个单引号’''包围,语法格式如下:

>>> poetry = """从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
书法作品
书法作品
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开
"""
>>> print(poetry)
从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
书法作品
书法作品
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开
>>> 

在长字符串中放置单引号或者双引号不会导致解析错误。
如果长字符串没有赋值给任何变量,那么这个长字符串就不会起到任何作用,和一段普通的文本无异,相当于被注释掉了。
注意: 此时 Python 解释器并不会忽略长字符串,也会按照语法解析,只是长字符串起不到实际作用而已。

当程序中有大段文本内容需要定义成字符串时,优先推荐使用长字符串形式,因为这种形式非常强大,可以在字符串中放置任何内容,包括单引号和双引号。

1.5字符串的加法和乘法

1.5.1字符串的加法

字符串的加法相当于字符串的拼接,如下列

>>> '520' + '1314'
'5201314'
>>> 
1.5.2字符串的乘法

字符串的乘法相当于字符串的的重复次数,如下列

>>> print("爱你三千遍!\n" * 3000)
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
爱你三千遍!
......

1.6布尔类型【通常用于条件判断中】

布尔值的取值只有真或者假 即 true/false
以下是值为false的几种情况

  1. 定义为False的对象

None 和 False

  1. 值为0的数字类型

0、0.0、0j【复数】、Decimal(0)、Fraction(0,1)【分子为0分母为1的有理数】

  1. 空的序列和集合

‘’ 、()、[]、{}、set()、range(0)
简单的运算,如下代码


>>> 1 == True
True
>>> 0 == False
True
>>> True + False
1
>>> True - False
1
>>> True * False
0
>>> True / False                      //除数不能为零
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    True / False
ZeroDivisionError: division by zero

在以上的代码中我们不难看出布尔类型就是特殊的整数类型

2.数字之间的运算

数字之间的运算如下图
数字之间的运算
首先加减乘除大家应该很清楚了,我们先来看地板除(//),上代码
地板除: 确保两个数相除的结果是一个整数,如果不是整数就向下取整【去比目标结果小的最大整数】。

>>> 3 / 2
1.5
>>> 3 // 2                 //1.5向下取整,即为1 
1
>>> -3 // 2               //-1.5向下取整,即为-2     -1.5>-2
-2
>>> 

由此可以得出一个公式 x == (x // y)*y + (x % y)
divmod: 同时得出两数的地板除和余数,上代码

>>> divmod(5, 2)
(2, 1)                                         //5 // 2 = 2    5 % 2=1`
>>> 

abs(x): 取到值x的绝对值内容,上代码

>>> x = -5201314          
>>> abs(x)                                 //对x取绝对值
5201314
>>> y = -3.1415926
>>> abs(y)                                //对y取绝对值
3.1415926
>>> a = 1 + 2j                               //我们知道复数是没有绝对值的,对复数取绝对值得到的值就是其 ====
>>> abs(a)
2.23606797749979                        //根号下5 = 2.23606797749979 
>>> 

int(): 如果内置的数为整数则结果为本身,如果内置为浮点数,则默认截断小数部分,只留下整数部分,上代码

>>> int('520')                               //将字符串转化为整数
520
>>> int(3.14)                                //截掉小数部分
3
>>> int(9.9999)                            //截掉小数部分
9
>>> 

float(): 如果内置的数为浮点数或者字符直接转化为本身,如果内置的数为整数,则结果默认在整数后面加上.0,上代码

>>> float('3.14')
3.14
>>> float(3.12)                   //内置数为浮点数,则结果为本身
3.12
>>> float(5301314)
5301314.0                        //内置数为整数,则默认加.0
>>> 

pow():、** 计算x的y次方,两个运算实现的结果一致,上代码

>>> pow(2, 3)            //23次方
8
>>> 2 ** 3               //23次方
8
>>> pow(2, -3)           //2-3次方
0.125
>>> 2 ** -3
0.125
>>> pow(2, 3, 3)       //pow有三个参数时代表,第一个数的第二个数的次方的结果与第三个数取余数
2
>>> pow(2, 3, 5)       //23次方=8 取余5 = 3
3
>>> 

3.逻辑运算符

python一共有三个逻辑运算符,如下图:
python的逻辑运算符
具体实例,如下代码

>>> 3 < 4 and 4 < 5          //有假则假
True
>>> 3 > 4 and 4 < 5
False
>>> 3 < 4 or 4 < 5           //有真则真
True
>>> 3 < 4 or 4 > 5
True
>>> 3 > 4 or 4 > 5
False
>>> not True                //取相反布尔值
False
>>> not 1
False
>>> not 0
True

短路逻辑的核心思想: 从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。即直接将影响结果的数据显示出来即可。实例如下

>>> 3 and 4         //3的真值测试结果为true,则看and后的值的真假情况,4为真值,同真则真则直接返回and后面的值
4
>>> 4 or 5         //4的真值测试结果为true,则对于or运算逻辑,整体的值为真值,所以之间返回or的第一个运算数
4
>>> "hhh" and "love"   //字符串hhh为真值,则看and后面的字符串love也为真值,则直接将and后面的真值返回
'love'
>>> "hhh" or "love"    //字符串hhh为真值,后面运算逻辑为or则直返回or前面的数据
'hhh'
>>> "love" and 250     //同理即逻辑运算符为and时,两个都查看,若都为正确则返回后面的数据,若第一个就为假,则返回第一个数据,若第二个为假,则返回第二个数据
250
>>> "love" or 250      //同理逻辑运算符为or时,若第一个数据为真,则直接返回整个运算结果的最终结果,若两个同时为假则返回第一个数据
'love'

逻辑运算符优先级,如下图:
逻辑运算符优先级


http://www.kler.cn/a/7716.html

相关文章:

  • Flutter实现绝对定位学习
  • Python中的HTML
  • AUTOSAR_EXP_ARAComAPI的7章笔记(3)
  • Rocky、Almalinux、CentOS、Ubuntu和Debian系统初始化脚本v9版
  • SQL集合运算
  • 群控系统服务端开发模式-应用开发-前端个人信息功能
  • 第二章Python序列-列表
  • ROS实践06 自定义消息类型
  • Java基础(一)Java语言概述及入门
  • 【java】java中进制、byte、String转换问题
  • 经济法基础:第二章 会计法律制度
  • QT学习开发笔记(项目实战之智能家居物联 UI 界面开发 )
  • ftp创建虚拟用户【ftp精细化配置】
  • 编译技术-编译优化
  • 打破传统思维:关键词采集与市场调查的完美结合,引领你的行业领先
  • 优先级队列(java版)
  • SpringBoot 整合 JSP和MyBatis
  • Vue 10 - 计算属性
  • 不愧是腾讯架构师珍藏的“redis深度笔记(全彩版)”这细节讲解,神了
  • 【Linux】创建子进程
  • 有哪些特别小众而有趣的编程语言呢?
  • 项目管理方法不是最重要的,成功完成项目真正需要什么?
  • MySQL逻辑架构
  • 2023年第十四届蓝桥杯将至,来看看第十二届蓝桥杯javaB组题目如何
  • UNIX环境高级编程——标准I/O库
  • Linux必会100个命令(五十八)dnf命令