运算符
python中支持数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符
1。数学运算符:+ - * / // (整除) %(取余) **(幂运算)
a 其中加减乘除和数学中的加减乘除一模一样
print(10+20,12.3+23.5,sep='&&')
print(10-20)
print(2*3)
print(5/2)
b // (整除) 数字1 // 数字2 让数字一除以数字二,结果只取整数部分
print(5//2,6.3//3,sep=',')
print(234//100)
c %(取余)
print(5 % 2) # 求5除以2 的余数 1
print(10 % 4) # 求10 除以 4 的余数
应用一 获取某个数的个位数
应用二 判断一个数奇偶性----让这个数对2取余看结果是否为0 为0 就是偶数
d (幂运算) xy 求x的y次方
print(2**3)
print(10**3)
print(16**(1/2)) # 16开平方
num = 23
print(num + 23) # 运算对象不一定是纯数字,也可以是存数字的变量
2.比较运算符: > , < , == , != , >= ,<=
所有的比较运算符结果都是布尔值
print(10<20,10>20,10==20,10==10,10!=10,10!=20) #True False False True False True
print(10>=20,20>=20,10<=20,10<=9) #False True True False
is 的使用
一个变量由三要素:
类型(变量中存储的数据的类型) type(数据)
值(变量中存储的值) 直接使用变量就是使用值
地址(变量真正存储的类容,就是数据的地址) id(变量)
== 和 is的区别
== :判断的是值是否相等
is :判断的地址是否相等
num = 100
print(type(num)) # <class 'int'>
print(num) # 100
print(id(num)) #1904048240
list1=[1,2]
list2=[1,2]
list3=list1 # 用变量给变量赋值的时候,是将变量储存的指的地址付给变量
print(list1==list2,list1 is list2) #True False
print(id(list1),id(list2)) #2692390722888 2692389884616
print(list3 is list1) #True
3逻辑运算符去 and 逻辑与运算 or逻辑或运算 not逻辑非运算
逻辑运算结果都是布尔值
a.逻辑与运算 and,x and y 两个都是True结果才是True
短路操作:如果与运算第一个条件为False,就不会判断后面的条件,直接将整个与运算结果变成False
True and True --> True
True and False --> False
False and False --> False
# 练习 成绩大于90分,操守分不小于95分才能拿奖学金
grade = 90
socer = 96
print('是否拿奖学金',grade > 90 and socer >= 95 )
b 逻辑或运算 a or b 两个值都为False结果才是False
False or False --False
True or False -->True
如果或运算第一个条件为True,就不会判断后面的条件,直接将整个或运算结果变成True
应用:要求多个条件只要满足一个条件就可以
# 练习: 如果考试成绩低于60分或者违反纪律就降班
grade = 60
is_notinclass=False
print('是否降班',grade < 60 or is_notinclass)
c.逻辑非运算 not 值1 ---> 对值进行否定/取反
应用 ----- 否定某个条件
4.赋值运算符 = += -= *= /= //= %= **=
所有的赋值运算符,要求赋值符号的左边必须是变量,右边必须是有结果的
a.变量 = 结果 将结果赋给右边的变量
num = 100
num2 = num #赋的是地址
b .+= -= *= /= //= %= **=
复合赋值运算要求赋值符号左边必须是变量,变量还必须申明过
变量 += 值 将变量原来的值加上值产生的新值重新赋给变量
num2 = 3
num2 += 10
print(num2)
5 运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符,如果有括号先算括号
数学运算符:** > * / // % > + -
数字类型
数字类型: int float bool complex | 范围 |
---|---|
整形(int) | 包含所有的整数(支持二进制,八进制,十六进制) |
浮点型(float) | 包含所有的小数,支持科学计数法 3e2--> 310*2==300.0 |
布尔(bool): | 只有两个值True --> 1, False -->0True还是表示真 ;False还是表示假 |
复数(complex) | 实部+虚部j j前面必须有数字,j前面的数字不能省略 |
num1=123456789 #十进制数
num2=0b101010101 #二进制
num3=0o1234567 #八进制
num4=0x123456789abcdef # 十六进制数
print(num1,num2,num3,num4) #123456789 341 342391 81985529216486895 打印会自动打印成十进制数
函数 | 意思 |
---|---|
bin(数字) | 将数字转化成2进制 |
oct(数字) | 将数字转化成八进制 |
hex(数字) | 将数字转化成十六进制 |
字符串
一,认识字符串。
在python里面用 '' 或者 “”括起来的字符集就是字符串
str1='qweqw12412'
str2="ajshdkjahskd "
二,字符串类型
str是python自己提供的一种容器型数据类型,一个字符串中可以存储多个字符
什么是字符:python中只有字符的概念,没有字符的类型,如果在
python中要表示 一个字符,用一个长度是1的字符串来表示
字符串是不可变的,有序的。
不可变指的是:字符的值和字符串的长度不可变,
有序指的是 :有序指的是每个字符在字符串中的位置是确定的
字符串'abc'和字符串'bac'不一样
三,字符串中的字符
a.普通字符:包含一般的字母、数字、符号、其他文字 例
如;'a','1','%','家'
b.转义字符:通过在一些特定的字母前加\来表示可特殊的功能和意义,这样的字符就是转义字符
转义字符 | 表示含义 |
---|---|
\n | 换行 |
\t | 表示一个tab键 |
\' | 表示一个单引号 |
\" | 表示一个双引号 |
\\ | 表示一个反斜杠 |
注意:1,没有阻止转义的时候,一个转义字符长度是 1
:2,可以在字符串最前面加 r/R来阻止转义
c.编码字符:在字符串中可以用一个\u1234,四位十六进制编码值表示一个字符,
这儿1234表示四位十六进制的编码值
普通字符和转义字符
str1 = 100
str1='100'
str2='abc\n123'
print(str2)
str3='hello\'a'
print(str3)
str4="hel\"lo'a"
print(str4)
str5='\\asafr\\nff'
print(str5)
str6='\twujiajia'
print(str6)
str7=r'姓名:小白\n年龄:18'
print(str7)
print(len(str7))
str8='\u4e00\u9fa5'
print(str8)
print(ord('伍'))
print(chr(20237))
四,字符编码
计算机只能存数字数据,而且存的是数字的二进制补码
10 --> 转化成二进制存补码
字符的编码就是为了将字符存到计算机中,给每个字符对应的一个固定数字,这个数字就是字符的编码
目前计算机采用的编码方式有ASCII码表和Unicode码表。python中采用Unicode编码。
ASCII码采用一个字节对字符进行编码(总共有128个字符)
Unicode码包含ASCII码,采用两个字节对字符进行编码(包含了世界上所有的语言和符号),又称万国码
a | b |
---|---|
小写字母编码范围(a-z) | 97 - 122 |
大写字母编码范围(A-Z) | 65 - 90 |
中文编码范围 | 0x4e00-0x9fa5 |
函数 | 功能 |
---|---|
chr(编码值) | 将编码转化为对应的字符 |
ord(字符) | 获取字符对应的编码值(返回的是十进制) |
print(chr(0x4e00))
print(ord('伍'),ord('佳'))
print(hex(20237))
网友评论