运算符、字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符、字符串相关的知识,希望对你有一定的参考价值。

参考技术A

python支持:数学运算符、逻辑运算符、比较运算符、赋值运算符、(位运算符)

其中:+、-、*、/,与数学中的加减乘除一样
整除(//),两数相除结果只取整数部分
取余(%),两数相除取余数
幂运算(**),x ** y 即为(求x的y次方)
可用于开方。如下:

注意:运算符的运算不一定非得是数据,也可是存数据的变量

所有比较运算符的值都是布尔值(False/True)

补充:is的使用

一个变量有三要素,分别是:类型(变量中存储的数据的类型)、值(变量中存储的数据)、
地址(变量存储的真正内容,数据的地址)

(==)和is的区别: *

注意:变量中若是存储的数据为数字和字符串,则地址相同
(变量中存储的数据为数字和字符串)示例:

与比较运算符的运算对象和值都是一样的,值都为布尔值

应用:要求同时满足多个条件的时候就用逻辑与运算
练习:能否获得奖学金条件,成绩90分以上以及测评分不能低于95

False or False --> False
运算技巧:只要存在True,则结果为True

应用:要求多个条件只要有一个条件满足就使用逻辑或运算
练习:是否降班条件,考试分数低于60,或者不在教室

not False = True
not True = False

是否漂亮,评分大于5则为漂亮

所有的赋值运算符,要求运算符的左边必须是变量;右边是有结果的(值)

其他赋值运算符中除(=)外,运算方法与以上一致

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算,优先级低的后算。如果有(),先算()里面的
数学运算符中的优先级:** > *,/,%,// > +,-

1.int:包含所有的整数,支持十进制、二进制、八进制、十六进制

2.float:包含所有的小数,支持科学计数法

3.布尔(bool)类型:值只有True和False,数学运算中 True == 1 ,False == 0

4.复数(complex)型:实部 + 虚部(通常用j来表示虚部,j前面的数字不能省略)

1,认识字符串:
通过单引号或者双引号括起来的字符集(文本)就是字符串
什么是字符 :python中只有字符的概念,没有字符的类型,如果要表示一个字符,用一个长度是1的\'字符串\'来表示
字符串是不可变的,但是有序--》(长度不可变,字符内容不可变,有序指的是每个字符在字符串中的位置是不变的)

2.字符串类型(str):str是python自己提供的一种容器型数据类型
容器型数据类型的特点:一个字符串中可以存储多个字符

3.字符串中的字符

注意: 1.没有阻止转义时,一个转义字符的长度是1
2.可以在字符串的最前面加r/R来阻止转义(阻止字符串中的所有转义字符转义)

如下:

例如:

4.字符编码:字符的编码就是为了把字符存到计算机里面,给每个字符一个固定的编号(数字组成)
计算机在存储数据的时候只能存数字数据,而且存的是数字的二进制的补码

数字存储:列如 10—> 转换成二进制 -> 求补码(存储)
目前采用的两种编码方式:ASCII码表(128个字符)和Unicode编码表(相当于ASCII码表的扩充,
采用两个字节对字符进行编码,包含世界上所有的语言和符号,又称万国码)。python采用的是Unicode编码表

小写字母的编码范围(a-z):97 - 122
大写字母的编码范围(A-Z):65 - 90
中文编码范围:0x4e00 - 0x9fa5

函数应用:

shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

  shell运算符有很多,关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

1,算术运算符

原声bash 不支持简单的算术运算,可以使用expr 工具 

两点注意:

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。
  • 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

#!/bin/bash
a=10
b=20
rst=`expr 2 + 2`
echo ‘2+2 =‘ ${rst}
rst=`expr 2 - 2`
echo ‘2-2 =‘ ${rst}
rst=`expr 2 \* 2`
echo ‘2*2 = ‘${rst}
rst=`expr 2 / 2`
echo ‘2/2 = ‘${rst}
rst=`expr 3 % 2`
echo ‘3%2 = ‘${rst}

output :

2+2 = 4
2-2 = 0
2*2 = 4
2/2 = 1
3%2 = 1

关系运算符

关系运算符只支持数字部支持字符串


-eq  检测两个数是否相等  相等返回true

-ne  检测两个数是否相等 不相等返回true

 -gt  检测左边的数是否大于右边的,如果是,则返回true

-lt    检测左边的数是否小于右边的,如果是,则返回true

-ge  检测左边的数是否大于等于右边,如果是则返回true

-le  检测左边的数是否小于等于右边的,如果是则返回true

 例子

if [ $a -lt $b ]
then
echo "a=${a} b=${b} a<b"
fi

a=20
b=10
if [ $a -gt $b ]
then
echo "a=${a} b=${b} a>b"
fi

a=20
b=20
if [ $a -eq $b ]
then
echo "a=${a} b=${b} a==b"
fi


a=10
b=20
if [ $a -ne $b ]
then
echo "a!=b"
fi


if [ $a -ge $b ]
then
echo "a>=b"

if [ $a -le $b ]
then
echo "a<=b"关系运算符列表

fi

 

布尔运算符

!    非运算  [!false]

-o    或运算   [  $a -lt -o $b -gt 100 ]

-a    与运算  [ $a -lt -a $b -gt 100 ]

 

字符串运算符

=  检测两个字符串是否相等,相等返回 true。[ $a = $b ] 返回 false。

!=  检测两个字符串是否相等,不相等返回 true。[ $a != $b ] 返回 true。

-z  检测字符串长度是否为0,为0返回 true。[ -z $a ] 返回 false。

-n  检测字符串长度是否为0,不为0返回 true。[ -z $a ] 返回 true。

str  检测字符串是否为空,不为空返回 true。[ $a ] 返回 true。

 

文件测试运算符

文件测试运算符列表
操作符说明举例
-b file 检测文件是否是块设备文件,如果是,则返回 true。 [ -b $file ] 返回 false。
-c file 检测文件是否是字符设备文件,如果是,则返回 true。 [ -b $file ] 返回 false。
-d file 检测文件是否是目录,如果是,则返回 true。 [ -d $file ] 返回 false。
-f file 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。 [ -f $file ] 返回 true。
-g file 检测文件是否设置了 SGID 位,如果是,则返回 true。 [ -g $file ] 返回 false。
-k file 检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。 [ -k $file ] 返回 false。
-p file 检测文件是否是具名管道,如果是,则返回 true。 [ -p $file ] 返回 false。
-u file 检测文件是否设置了 SUID 位,如果是,则返回 true。 [ -u $file ] 返回 false。
-r file 检测文件是否可读,如果是,则返回 true。 [ -r $file ] 返回 true。
-w file 检测文件是否可写,如果是,则返回 true。 [ -w $file ] 返回 true。
-x file 检测文件是否可执行,如果是,则返回 true。 [ -x $file ] 返回 true。
-s file 检测文件是否为空(文件大小是否大于0),不为空返回 true。 [ -s $file ] 返回 true。
-e file 检测文件(包括目录)是否存在,如果是,则返回 true。 [ -e $file ] 返回 true。

以上是关于运算符、字符串的主要内容,如果未能解决你的问题,请参考以下文章

Shell运算符:Shell算数运算符关系运算符布尔运算符字符串运算符等

Shell运算符:Shell算数运算符关系运算符布尔运算符字符串运算符等

004-Shell 基本运算符算术运算符关系运算符布尔运算符辑运算符字符串运算符文件测试运算符

运算符

linux之Shell编程--Shell基本运算符之字符串运算符和文件运算符实例演示

python:运算符、列表、字符串