一、Python的基本语法
一、基本数据类型
整数 | 浮点数 | 布尔值 | 复数 | 字符串 |
---|
1.字符串界定符
①单引号(只有单引号可包含双引号)
②双引号
③三引号
2.字符串函数及字符串的运算
s.lower( )和s.upper( ) | 全小写和全大写 |
---|---|
s.replace(s1,s2) | 将s中所有的s1用s2替代 |
s.strip(x) | 仅将s两端的x字符去掉 |
a.join(s) | 将a插入到S的每个字符之间 |
len(s) | 求s的长度 |
a+b | 字符串直接连接 |
a*4 | 相当于a+a+a+a |
二、变量类型转换
1.类型转换函数 str( )、int( )、float( )
name='张三'
age=20
print(name,age) # 会报错,因为不同数据类型之间不能直接连接
print(name,str(age)) #正常运行
int( )转化字符串时,字符串必须为整数数字串,不能为浮点型数字串。
int( )转化浮点数时,只截取整数部分。
布尔变量true视为1,false视为0.
float( )转化字符串时,
字符串若为浮点型,则直接转化;
若为整数型,则会加一个0.0,如 90 90.0(布尔变量也同理)
2.bool( )
对于python,一切皆对象。所有对象都有一个布尔值。
0,None,False以及 空的 的字符串、列表、字典、元组、集合的bool值均为False.
3.chr( )和ord( )
-
进行ASCII码(字符)和整数之间的转换。
-
两者互为逆运算
二、Python中的基本运算
一、算数运算
1.算术运算符
一般运算:加减乘除
整除运算: // (向下取整)
print(9//4) #整除运算,舍去小数部分。结果为2.
print(-9//-4)# 2
print(9//-4) #-3
print(-9//4) #-3 一整一负的整除公式,向下取整
幂运算: **
print(11**2) #幂运算。11的2次方。结果为121.
取余运算: %
公式:余数 = 被除数 - 除数 * 商
print(11%2) #取余运算,又称模运算。结果为1.
print(9%-4) # -3 公式: 9-(-4)*(-3) --> 9-12 --> -3
print(-9%4) # 3 上述公式中商的结果为 9//-4 的结果
2.Python内置的数学运算函数
abs( ) | 绝对值 | max( ) | 求最大值 |
---|---|---|---|
pow() | 乘方,pow(5,2)返回25 | min( ) | 求最小值 |
round( ) | 四舍六入五留双,round(2.5)返回2 | divmod( ) | 取模,返回商和余数,divmod(5, 2)返回(2,1) |
sum( ) | 求和,sum([1,2,3,4])返回10 |
3.math模块
- 函数
fabs( ) | 绝对值,返回float | factorial( ) | 整数的阶乘 |
---|---|---|---|
ceil( ) | 向上取整 | sqrt( ) | 平方根 |
floor() | 向下取整 | exp( ) | 以e为底的指数运算 |
trunc() | 向0取整 | log( a,b ) | 对数,log(math.e)返回1;log(8,2)返回3 |
- 两个数学常量:math.e 和math.pi
- 导入math模块的方法
---第一个---
>>>import math
>>>math.pi * math.sqrt(5)
---第二个---
>>>from math import * #多个模块可能有同名函数,如果都按这种方法导入,则会产生名字冲突的问题
>>>pi * sqrt(5)
二、赋值运算符
赋值方式
1.链式赋值
a=b=c=20 #链式赋值
2.参数赋值(复合赋值)
a+=10 ''' a+=10 --> a=a+10
同理有 -= 、*= 、/= 、//= 、%= 、**= '''
3.解包赋值
-
a,b,c=20,30,40 #系列解包赋值(左右个数要相等)
-
a,b,c,d,e='hello' #五个字符依次赋给五个变量,a的值为'h'
-------交换两个变量的值------
a,b=10,20
a,b=b,a #交换完毕
'''原理:数据结构——链表。
刚开始,a指向10(一个数据块),b指向20.
然后,a指向b指向的20,b指向a指向的10. '''
三、关系运算符
1.种类
大于 | 小于 | 等于 | 不等于 | 大于等于 | 小于等于 |
---|---|---|---|---|---|
> | < | == | != | >= | <= |
id标识相等(是否引用同一对象) | id标识不相等(也可比较值) | ||||
is | is not |
2.比较运算符的结果为bool类型。
3.比较运算符比较的是值。 注:一个变量由id标识、类型、值三部分组成。
a=10 #计算机创建 值为10的地址块,a指向10
b=10 #值为10的地址块已存在,b也指向其。 由此,a,b的id地址和值均相等
a==b -->True ; a is b -->True
list1=[11,22,33] #数组单独分配地址
list2=[11,22,33]
list1 == list2 -->True ; list1 is list2 -->False
四、布尔运算符(逻辑运算)
- 是对于布尔值之间的运算,结果为bool类型
运算符 | 功能 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
in | 判断字符是否在字符串中存在 |
not in |
----基础应用----
a=1
b=2
print(a==1 and b==2) # True
print(a!=1 or b==2) # True
print(not(a!=1 or b==2)) # False
s='helloworld'
print('w' in s) # True
print('k' not in s) # True
注:or 和and都是短路运算符。例:or的左操作数位True后,就跳过对右操作数的判断,直接返回True.
五、位运算符
-
将数据转成二进制进行计算
运算符 功能 &(按位与) 全是1,结果才是1 |(按位或) 只要一个为结果就为1 <<(左移位运算符) 高位溢出舍弃,低位补0(相当于乘以2,) >>(右移位运算符) 低位溢出舍弃,高位补0(相当于除以2,直至到1)
六、运算符的优先级
一般情况下:括号>算术>位>关系>bool>赋值
七、输入、输出
-
输入 x=input( <提示字符串>),返回值为字符串
a=input('请输入金额') #交互式函数,键盘输入的值赋给变量a,默认为字符串 a=input() #括号内若有内容,则必须是字符串
-
一般要对输入的值进行类型转换
-
a=int(input('请输入一个加数')) #将原本为字符串的a转换为整数,这里输入10 b=int(input('请输入另一个加数')) #这里输入20 print(a+b) #输出结果为30 '''若不进行类型转换''' print(a+b)#输出结果为1020,原因:+号表示字符串连接
-
print()
-
print(s,end=’ ') 可令输出的值在同一行,不自动换行,
输出的值之间的间隔与end=’ '中的空格有关。
end=''中也可以是字符串,输出的值之间会间隔特定字符。