一、运算符
python支持:数学运算符、逻辑运算符、比较运算符、赋值运算符、(位运算符)
1.数学运算符:+,-,*,/,//(取整),%(取余),**(幂运算-乘方)
其中:+、-、*、/,与数学中的加减乘除一样
整除(//),两数相除结果只取整数部分
取余(%),两数相除取余数
幂运算(**),x ** y 即为(求x的y次方)
可用于开方。如下:
print(8 ** (1/2)) (此处为开平方)
age = 18
print(19 + age)
注意:运算符的运算不一定非得是数据,也可是存数据的变量
2. 比较运算符:>,<,==,!=(不等于),>=,<=
所有比较运算符的值都是布尔值(False/True)
print(1 > 2) False
print(520 == 1314) False
补充:is的使用
一个变量有三要素,分别是:类型(变量中存储的数据的类型)、值(变量中存储的数据)、
地址(变量存储的真正内容,数据的地址)
- 类型的获取:type(变量)
- 值的获取:直接使用变量,就是使用值
- 地址的获取:id(变量)
(==)和is的区别:*
- ==:判断的是值是否相等
- is:判断的是地址是否相等
注意:变量中若是存储的数据为数字和字符串,则地址相同
(变量中存储的数据为数字和字符串)示例:
name1 = '小陈儿'
name2 = '小陈儿'
print(id(name1),id(name2))
print(name1 == name2) # True
print(name1 is name2) # True
(变量中存储的数据为列表,则地址会不同)示例:
list1 = [1,2,3]
list2 = [1,2,3]
print(list1 == list2) True
print(list1 is list2) False
3.逻辑运算符:and (逻辑与运算),or(逻辑或运算) ,not(逻辑非运算)
与比较运算符的运算对象和值都是一样的,值都为布尔值
- and:值1 and 值2 --> 如果两个值都为true,结果就为true,否则为true;相当于生活中的逻辑“并且”
"""
True and True --> True
运算技巧:只要存在False,则结果为False
应用:要求同时满足多个条件的时候就用逻辑与运算
练习:能否获得奖学金条件,成绩90分以上以及测评分不能低于95
grade = 90
score = 95
print('能否获得奖学金:', grade > 90 and score >= 95)
- or:值1 or 值2 --> 如果两个都为False,结果才是False,否则结果都为True,相当于生活逻辑中的“或者”
False or False --> False
运算技巧:只要存在True,则结果为True
应用:要求多个条件只要有一个条件满足就使用逻辑或运算
练习:是否降班条件,考试分数低于60,或者不在教室
grade = 66
is_not_in_class = False
print('是否降班', grade < 60 or is_not_in_class)
- not:值1 --> 对值进行否定或者取反
not False = True
not True = False
是否漂亮,评分大于5则为漂亮
yanzhi = 6
print('漂亮否', not yanzhi < 5)
4.赋值运算符:=, +=, -=, *=, /=, =//, %=, **=
所有的赋值运算符,要求运算符的左边必须是变量;右边是有结果的(值)
- a.变量 = 结果 --> 将结果赋值给变量
num = 520
num1 = num # 变量给变量赋值,赋的是变量的地址
- b.+=, -=, *=, /=, =//, %=, **=
复合赋值运算符要求赋值符号的左边除了是变量以外,还要求变量已经被赋过值
变量 += 值 --> 变量 = 变量 +值(将变量本身的值加上指定的值变成的新值重新赋给变量)
num3 = 520
num3 += 0.1314 # num3 = num3 + 0.1314
print(num3)
其他赋值运算符中除(=)外,运算方法与以上一致
5.运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算,优先级低的后算。如果有(),先算()里面的
数学运算符中的优先级:** > *,/,%,// > +,-
二、数字类型
1.int:包含所有的整数,支持十进制、二进制、八进制、十六进制
num0 = 520 十进制
num1 = 0b101001 二进制 ——》ob + 二进制数
num2 = 0o520 八进制 --》 0o + 八进制数
num3 = 0x19af 十六进制 --》 0x + 十六进制数
可以通过其他进制表示十进制的同一个数字
print('十进制', 520)
print('二进制', bin(520))
print('八进制', oct(520))
print('十六进制', hex(520))
2.float:包含所有的小数,支持科学计数法
num = 3e2
print(num) 结果为num = 300.0
3.布尔(bool)类型:值只有True和False,数学运算中 True == 1 ,False == 0
4.复数(complex)型:实部 + 虚部(通常用j来表示虚部,j前面的数字不能省略)
三、字符串
1,认识字符串:
通过单引号或者双引号括起来的字符集(文本)就是字符串
什么是字符:python中只有字符的概念,没有字符的类型,如果要表示一个字符,用一个长度是1的'字符串'来表示
字符串是不可变的,但是有序--》(长度不可变,字符内容不可变,有序指的是每个字符在字符串中的位置是不变的)
2.字符串类型(str):str是python自己提供的一种容器型数据类型
容器型数据类型的特点:一个字符串中可以存储多个字符
3.字符串中的字符
- a.普通字符:包含一般的字母、数字、符号、文字(字符是指单独的一个数据,不能是多个)
- b.转义字符:通过在一些特定的字符前加“\”来表示特殊的功能和意义
注意: 1.没有阻止转义时,一个转义字符的长度是1
2.可以在字符串的最前面加r/R来阻止转义(阻止字符串中的所有转义字符转义)
如下:
str3 = r'姓名\n年龄\n性别'
print(str3)
例如:
\n (换行)
\' (表示单引号)
\" (表示双引号)
\\ (表示一个反斜杠)
\t (表示一个tab键)
str1 = 'abc\n123'
print(str1)
str2 = '\thello陈儿'
print(str2)
- c.编码字符:字符串中用一个'\u' + 四位十六进制编码值表示一个字符(如:\u1314)
str4 = '小陈儿\u5200'
print(str4)
4.字符编码:字符的编码就是为了把字符存到计算机里面,给每个字符一个固定的编号(数字组成)
计算机在存储数据的时候只能存数字数据,而且存的是数字的二进制的补码
数字存储:列如 10—> 转换成二进制 -> 求补码(存储)
目前采用的两种编码方式:ASCII码表(128个字符)和Unicode编码表(相当于ASCII码表的扩充,
采用两个字节对字符进行编码,包含世界上所有的语言和符号,又称万国码)。python采用的是Unicode编码表
小写字母的编码范围(a-z):97 - 122
大写字母的编码范围(A-Z):65 - 90
中文编码范围:0x4e00 - 0x9fa5
函数应用:
- a.chr(编码值) print(chr) - 获取编码对应的字符
- b.ord(字符) print(ord) - 获取字符的编码(以十进制的形式返回)
print(chr(0x42f3))
网友评论