Python中的运算符、数字类型和字符串

一、运算符

1、数学运算符
名称符号示例:a为9,b为4
+a + b运算结果为13
-a - b运算结果为5
*a * b运算结果为36
除号/a / b运算结果为2.25
整除//a // b运算结果为2
取余%a % b运算结果为1
**a ** b运算结果为6561

运用:

  1. 获取数字234中的百位上的数
print(234//100) #结果为2
  1. 获取数字234中的个位上的数
print(234%10) #结果为4
  1. 判断奇数偶数
print(234%2) #结果为0是偶数,结果为1是奇数
  1. 开平方和开立方
print(16 ** 0.5) #开平方
print(8 ** (1/3)) #开立方

注意:运算对象不一定是纯数据,也可以是纯数据的变量

2.比较运算符

所有比较运算符的结果都是布尔值(True 或者 False)

名称符号
大于>
小于<
等于==
不等于!=
大于等于>=
小于等于<=

注意:书写时两个符号(==, !=, >=, <=)连在一起不能有空格。

补充:is的使用

一个变量有三要素,分别是:

  • 类型(type函数获取,变量中存储的数据)
  • 值(直接使用变量,就是使用值)
  • 地址(id函数获取,变量真正存储的内容,数据的地址)
num = 10
print('类型:',type(num), '值:', num, '地址:', id(num))
#     类型: <class 'int'> 值: 10 地址: 1619776704

如果有两个变量a和b,a和b的值相等(分别赋相同的值,不是a = b 或者 b = a这样的赋值)只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False。

==和is的区别

== 判断是值是否相等,

is判断地址是否相当(用id()函数来比较)

3.逻辑运算符

所有逻辑运算符的运算对象和运算结果都是布尔值(True 或者 False)

逻辑与运算符号运算规则
名称and值1 and 值2,两个值都为True则为True,否则为False
逻辑或运算or值1 or 值2,两个值都为False则为False,否则为True
逻辑非notnot 值1,值1的结果取反

应用:

要求多个条件同时满足的时候,就使用逻辑与运算

练习:能拿奖学金的条件是成绩必须90分以上并且评测分不能低于95

grade = 90
score = 95
print('是否能拿奖学金:', grade > 90 and score >= 95)

练习:年龄不小于10岁

age = 20
print(not age < 10)

短路操作:

  • 逻辑与运算中,如果第一个条件是False,就不会判断第二个条件,直接让整个与运算的结果为False
  • 逻辑或或算中,如果第一个条件是True,就不会判断第二个条件,直接让整个或运算的结果为True
4.赋值运算符

赋值运算符的左边必须是变量,右边是一个值

复合赋值运算符要求左边是一个变量以外,还要求这个变量有值。

名称符号示例:以下num为10
赋值=num = 6 ,num值为6
加等于+=num += 6 ,num = num +6 运算后num值为19
乘等于*=num *= 6 ,num = num * 6 运算后num值为60
除等于/=num /= 6 ,num = num / 6 运算后num值为1.6666666666666667
整除等于//=num //= 6 ,num = num // 6 运算后num值为1
取余等于%=num %= 6 ,num = num % 6 运算后num值为4
幂等于**=num **= 6 ,num = num ** 6 运算后num值为1000000

注意:变量给变量赋值,赋的是变量的地址。

5.运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

数学运算符中:** 大于 *, /, %, // 大于 +, -

优先级高的先算,优先级低的后算,如果有() 则先算()里面的。

布尔值中True == 1, False ==0

6.位运算符(后面再讲)

二、数字类型

1、整型(int):

包含所有的整数,支持十进制、二进制、八进制和十六进制

num0 = 123          #十进制  直接写十进制数
num1 = 0b10101010   #二进制 0b + 二进制数
num2 = 0o153        #八进制 0o + 八进制数
num3 = 0x15f        #八进制 0x + 十六进制进制数
num0 = 123
print(num0, num1, num2, num3)
print(num0, '的二进制是', bin(num0)) # 123的二进制是 0b1111011
print(num0, '的八进制是', oct(num0))	# 123 的八进制是 0o173
print(num0, '的十六进制是', hex(num0))# 123的十六进制是 0x7b

注意:bin(),oct(),hex()函数返回的是字符串。

2、浮点型(float):

包含所有的小数,支持科学计数法。

num = 3e2  #代表3乘以10的2次方
print(num) #300.0
3、布尔值(bool):

值只有True和False。True在数学运算中值为1,False为0.

4、复数(complex):

实部+虚部j,注意j前面的数字不能省略。

print(2 + 1j)

三、字符串

1、认识字符串

通过单引号或者双引号括起来的文本就是字符串。

str1 = 'abc'
str2 = "abc123"
2、字符串类型(str)

str是Python自己提供的一种容器型数据类型,一个字符串中可以存多个字符。

什么是字符:Python中只有字符的概念,但是没有字符类型。

如果要在Python中要表示一个字符,则用一个长度是1的字符串表示。

字符串不可变但是有序,不可变指的是字符的内容和长度不可变,有序指的是各字符位置是确定的。

3、字符串中的字符
a、普通字符

包括一般的字母、数字、符号、其他文字,例如:‘a’, ‘G’, ‘100’, ‘!’, ‘好’
空串:’’, “”
空格字符串:’ ', " "

b、 转义字符

通过在一些特定的字符前,来表示特殊的功能和或者意义。

转义字符描述
\n换行
单引号
"双引号
\\反斜杠符号
\t横向制表符

注意:在没有阻止转义一个转义字符的长度为1。

可以在字符串前面加r或者R阻止转义。

print('abc\ndef')
print(r'abc\ndef')
print(R'abc\ndef')

输出以下内容:
阻止转义字符.png

c、编码字符

在字符串用’\u1234’ + 这儿的1234表示四个十六进制编码值表示一个字符。

print('你好\u455e') #你好䕞

为什么会出现字符编码?计算机存数据的时候只能存数字数据,而且存的是数字的二进制的补码。字符的编码就是为了将字符储存到计算机中,给每个字符对应的一个固定的数字。这个数字就是这个字符的编码。目前计算机采用的编码方式有两种,分别是ASCII码表和Unicode码表。ASCII码是采用一个字节对字符进行编码,Unicode码包含ASCII码,采用两个字节对字符进行编码,包含了实际上所有的语言符号。

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

两个函数:

chr(编码)函数
(character)把指定编码转换成字符,返回的是一个字符

print(chr(0x6753)) #杓

ord(字符) 函数
(ordinal)获取字符的编码(只能传一个字符),返回的是一个整数值

print(hex(ord('我'))) #0x6211
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值