python:
解释型语言,无平台依赖性(在设备上有python环境即可运行)
简单易学通用性强但无法加密,因此大部分企业级软件不使用python
效率相对较低,但无法察觉
变量
1.变量可由英文,数字,下划线,中文(不推荐)组成
2.不能以数字开头,或使用系统自带的关键字,保留字
3.英文区分大小写
4.MyName(大驼峰)myName(小驼峰)推荐使用my_name的格式
运算符
算数运算符
运算符 | 效果 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 求余数 |
** | 幂次 |
// | 商的整数部分 |
print(1 + 0.5)#1.5 返回类型为float
print(3 - 2.0)#1.0,只要参与运算的有浮点数,返回类型均为float
print(10 / 2)#返回5.0,除法运算返回的都是浮点型
print(9 / 3)#返回浮点数3.0
print(10 / 3)#有精度缺失问题:3.3333333333333335
print(10 // 3)#返回3,整除向下取整
print(10 //-3)#返回-4,整除向下取整
比较运算符
返回值为bool(布尔)类型
True——>1
False——>0
运算符 | 效果 |
---|---|
== | 比较值是否相等(仅比较值,is比较地址) |
!= | 比较值是否不相等 |
> | 大于 |
< | 小于 |
> | 大于等于 |
< | 小于等于 |
PS:int型不能直接与str类型进行比较
逻辑运算符
运算符 | 表达式 | 效果 |
---|---|---|
and | a and b | a和b均为True,才返回True |
or | a or b | a和b其中一个为True则返回True |
not | not a | 若a为True则not a为False |
赋值运算符
运算符 | 表达式 |
---|---|
= | c(变量)=a+b(值) |
+= | c+=a——>c=c+a |
-= | c-=a——>c=c-a |
*= | c*=a——>c=c*a |
/= | c/=a——>c=c/a |
%= | c%=a——>c=c%a |
**= | c**=a——>c=c**a |
//= | c//=a——>c=c//a |
赋值运算符:将“=”右边的值赋值给“=”左边,从右往左运算
位运算符
运算符 | 效果 |
---|---|
& | 同位上,两者都为1则取1,其余取0(与) |
| | 同位上只要有1则为1(或) |
^ | 同位上,两者相等则取0,否则为1(异或) |
例如:
a = 0000 0110
b = 0000 1100
a&b=0000 0100
a|b=0000 1110
a^b=0011 0001
成员运算符
运算符 | 效果 |
---|---|
in | 判断某个值是否在指定序列中,在则为True,不在则为Fales |
not in | 判断某个值是否在指定序列中,不在则为True,在则为Fales |
身份运算符
运算符 | 效果 |
---|---|
is | 判断两个对象的内存地址是否一致,是则为True,不是则为False |
not is | 判断两个对象的内存地址是否一致,不是则为True,是则为False |
PS:“is“与”==“不同,is判断的是地址(可用?“id()”查看),==仅判断变量值
三目运算符
三目运算符原内容链接
假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用 if else 语句
例如:
if a>b:
max = a;
else:
max = b;
但是 Python 提供了一种更加简洁的写法,如下所示:
max = a if a>b else b
这是一种类似于其它编程语言中三目运算符? :的写法。Python 是一种极简主义的编程语言,它没有引入? :这个新的运算符,而是使用已有的 if else 关键字来实现相同的功能。
使用 if else 实现三目运算符(条件运算符)的格式如下:
exp1 if contion else exp2
condition 是判断条件,exp1 和 exp2 是两个表达式。
如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。
前面的语句max = a if a>b else b的含义是:
如果 a>b 成立,就把 a 作为整个表达式的值,并赋给变量 max;
如果 a> b 不成立,就把 b 作为整个表达式的值,并赋给变量 max
运算符优先级
Python 运算符的优先级(从高到低)如下:
运算符 | 效果 |
---|---|
** | 幂运算 (最高优先级) |
~ + - | 按位取反,正负号 |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法运算符 |
>> << | 右移,左移运算符 |
& | 与 |
^ | | 异或/或 位运算符 |
<= < > >= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
s is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
PS:对于同一优先级的运算符,运算顺序从左往右。
print函数
print(打印)结尾默认/n换行
print格式: print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
可选关键参数
value | 将要打印的值 |
---|---|
sep | 插入值之间的字符串(间隔符),默认为空格 |
end | 附加在最后一个值后面的字符串,默认为换行符\n |
flush | 是否强制冲洗流 |
五种输出方式
guojia = input("请输入您的国家")
nianling = input("请输入您的年龄")
xingbie = input("请输入您的性别")
print("您的国家是:",guojia)#单个变量使用“,”隔开
print("您的国家是:"+guojia+"您的年龄是:"+nianling+"您的性别是:"+xingbie)#多个变量之间可用“+”连接
print("您的国家是:%s您的年龄是:%s您的性别是:%s"%(guojia,nianling,xingbie))#或使用占位符,%s:将数据转化为字符串并占位
print("您的国家是:{}您的年龄是:{}您的性别是:{}".format(guojia,nianling,xingbie))#format函数
print(f"您的国家是:{guojia}您的年龄是:{nianling}您的性别是:{xingbie}")#format函数简写,较为推荐