- python是一种解释型语言。
- python通过缩进来体现语言之间的逻辑关系。
- python解释器在语法上不支持自然语言编程方式。
- IPO,I是input 程序的输入 P是 process处理 程序的主要逻辑 O 是output 程序的输出
一、基本的输出函数print
注意事项:print()中的引号为英文状态下的引号,print后面的小括号也为英文状态下的小括号。
语法结构:print(输出内容)
print()函数完整的语法格式:
print(value,...,sep=' ',end=' \n ',file=None)
(1)关于print的基础
#关于print的基础
a=1 #a为变量,赋值1
b=22#b为变量,赋值22
print(90)#直接输出 90 这个值
print(a)#输出变量a 的值 1
print(a+b)#输出 a+b 的值 23
print('Hello')#输出英文 Hello
print('''Hello''')#输出英文 Hello
print('你好呀,陌生人')#输出 你好呀,陌生人
print("你好,怪力乱世者")#输出 你好,怪力乱世者
(2)不换行输出多个数据,在print()的括号中使用英文状态下的逗号
c=20
f=520
print(c,f,'你还要梦想吗?小孩')
#输出结果为:20 520 你还要梦想吗?小孩
print(c,f,'你还要梦想吗?小孩',end='')
#输出结果为:20 520 你还要梦想吗?小孩
#但是后面用end='',则输出之后的没有空行
#end='',是终结符
(3)将数字或者符号,转换成字符的方法
print('b')#直接输出b
print(chr(98))#也输出b,原因是使用chr()将98转换成ASCII表中的字符
(4)将中文,转换成字符的方法
#中文转换成字符的方法
print(ord('左'))
print(ord('右'))
#输出结果为 24038
# 21491
#如果要为其转换中文类型,则可以使用chr()进行转换
print(chr(24038),chr(21491))
#输出结果为: 左 右
(5)使用print函数将内容输出到文件
如:将 "你好 "输入文件cc.txt
fp = open('cc.txt', 'w')#打开文件或者创建新文件
text='你好'#输入文字 你好
fp.write(text)#将文字写入文件
fp.close()#关闭文件
(6)连接符“+”
print("你好"+"2024")
#字符串跟字符串连接
#不能print("你好"+2024)
(7)字符串分割 ' '.join( )
str1="hello"
al=' , '.join(str1)
print(al)
# 输出结果:h , e , l , l , o
二、基本的输出函数input
语法结构:x=input("提示文字")
x属于字符串类型
x=input("请输入一个数")
print(x)#输出结果是x的值
print("你输入的数是"+x)#输出结果是 你输入的是x
将字符串转换为整型:print(int(a))
整型的连接符可以直接在英文状态输入 ,
a=input("请输入一个数")
print(int(a))#将字符串类型的x转换为整型
print("你输入的是",a)
三、注释
单行注释 #
多行注释 ''' '''
#你好呀!同学
''' 今年的你准备好了吗?
亲爱的
小同学'''
四、保留字(关键字)和标识符
保留字:指在python中被赋予特定意义的一些单词,在开发程序时,不可以把这些保留字作为变量、函数、类、模块和其他对象的名称来使用。
Python中的保留字 | ||||||
and | as | assert | break | class | continue | def |
del | elif | else | except | finally | for | from |
nonlocal | not | None | or | pass | raise | return |
False | global | if | import | in | is | lambda |
try | True | whlie | with | yield | await | async |
import keyword
print(keyword.kwlist)#打印出保留字
print(len(keyword.kwlist))#统计保留字的总个数
len(需要统计总数的东西)
python标识符的命名规则:
- 可以是字符(英文、中午)、下划线 _ 和数字,并且第一个字符不能是数字
- 不能使用python中的保留字(关键字)
- 标识符严格区分大小写
- 以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符
- 允许使用中文作为标识符,但不建议使用
python标识符的命名规范
- 模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。如:test_main
- 包名尽量短小,并且全部使用小写字母,不推荐使用下划线。
- 类名采用单词首字母大写形式。如:MyClass
- 函数、类的属性和方法的命名,全部使用小写字母,多个字母之间使用下划线分隔。
五、变量
变量名称=变量值
a=10 #给a变量赋值为10
b='你好呀' #给b变量赋值为字符串"你好呀"
print(b,'数字人',a) #输出结果:你好呀 数字人 10
允许多个变量指向同一个值
c=d=20 #c与d使用同一个变量值20
print(c,d) #输出结果:20 20
print(id(c)) #id()查看对象的内存地址
id()查看对象的内存地址
变量命名应遵循以下几条规则
- 变量名必须是一个有效的标识符
- 变量名不能使用python中的保留字(关键字)
- 慎用小写字母i 和大写字母O
- 应选择有意义的单词作为变量名
常量
- 常量就是在程序运行过程中,值不允许改变,全部使用大写字母和下划线命名
A=1234 #常量
a=1234 #变量
六、数值类型
整数类型(int):表示的数值是没有小数点部分的数值,包含正整数、负整数和0
浮点数类型(float):表示带有小数点的数值,由整数部分和小数部分组成。(两个浮点类型的数在进行运算时,有一定的概率运算结果后增加一些“不确定的”尾数;python中的复数与数学中的复数形式完全一致,由实部和虚部组成,在python中的实数部分使用.real表示,虚部部分使用.imag表示)
c=20
d=13.45
print(type(c)) #type()用于查看数值是什么类型
print(type(d))
#输出结果<class 'int'>
# <class 'float'>
type()用于查看数值是什么类型
x=123+456j
print('实数部分',x.real)
print('虚数部分',x.imag)
#输出结果:实数部分 123.0
# 虚数部分 456.0
大小写转化 变量名.lover()
str1="hello"
str2="world"
print(str1.lover())
print(str2.lover())
常用的运算函数
abs(-3) #绝对值 结果3
round(2.1951) #四舍五入,默认不保留小数位 结果2
round(5.626,2) #四舍五入 ,5.626保留2位 结果5.63
pow(5,2) #平方5的平方 结果25
sum([1,2,3,4,5,6]) #对列表求和 结果21
七、字符串类型
字符串类型:连续的字符序列,可以表示计算机所能识别的一切字符。
字符串又被称为有序字符序列,对字符串中的某个字符的检索称为索引。
字符串的界定符:单引号、双引号、三引号
转义符号 | 描述说明 |
\n | 转行符 |
\t | 水平制表位,用于横向跳到下一个制表位 |
\" | 双引号 |
\' | 单引号 |
\\ | 一个反斜杠 |
print('我爱你')
print('SJ')
print('-----------')
print('我爱你\nSJ')
print('我爱你\tSJ')
'''输出结果:我爱你
SJ
-----------
我爱你
SJ
我爱你 SJ
'''
对字符串中某个子串或区间的检索称为切片
字符串或字符变量 [N:M] 从0位开始数
s='SOUVNEJIANLY'
print(s[7],s[10],s[1],s[3],s[5],s[11],s[1],s[2])
#输出结果:I L O V E Y O U
print('我爱你'[1])
#输出结果:爱
print(s[2:7])
#输出结果:UVNEJ 从2开始到7结束不包括7
常用的字符串操作
操作符 | 描述说明 |
x+y | 将字符串x于y连接起来 |
x*n或n*x | 复制n次字符串x |
x in s | 如果x是s的子串,结果位True,否则结果为False |
c='2023年'
t='我们相恋'
print(c+t) #输出结果:2023年我们相恋
w='我爱你SJ'
print(w*8) #输出结果:我爱你SJ我爱你SJ我爱你SJ我爱你SJ我爱你SJ我爱你SJ我爱你SJ我爱你SJ
q='SJ'
print(w in q) #输出结果:False
print(q in w) #输出结果:True
八、布尔类型
布尔类型:用来表示“真”值或“假”值的数据类型。在python中使用标识符true或者false表示布尔类型的值,true表示整数为1,false表示整数为0。
布尔类型为false的情况下:
- false或者none
- 数值中的0,包含0,0.0,虚数0
- 空序列,包含空字符串、空元组、空列表、空字典、空集合
- 自定义对象的实例,该对象的_bool_()方法返回false或_len_()方法返回0
aa=20
aaa=50
print(aa>aaa)#输出结果:False
print(aa<aaa)#输出结果:True
print('')#输出结果:False
九、数据类型之间的转换
函数 | 描述说明 | |
隐式转换 | int(x) | 将x转换为整数类型 |
float(x) | 将x转换为浮点数类型 | |
str(x) | 将x转换为字符串类型 | |
chr(x) | 将x转换为字符类型 | |
显示转换 | ord(x) | 将一个字符x转换为其对应的整数值 |
hex(x) | 将一个整数x转换为一个16进制的字符串 | |
oct(x) | 将一个整数x转换为一个8进制的字符串 | |
bin(x) | 将一个整数x转换为一个2进制的字符串 |
aa=20
aaa=50
aaaa=12.8
zz=aa/aaa#隐式转换,将整数类型转换为浮点类型
print(zz)#输出结果:0.4
print(int(aaaa))# 将浮点类型转换为整型 输出结果:12
print(float(aaa))# 将整型转换为浮点类型 输出结果:50.0
ord()与chr()互为相反值
十、eval函数
eval函数,python中的内置函数,用于去掉字符串最外侧的引号,并按照python语句方式执行去掉引号后的字符串,eval()函数经常和input()函数一起使用。
eval()函数的语法格式:变量=eval(字符串)
a1='3.14+12.4'
print(a1)#正常输出字符串a1的值:3.14+12.4
a2=eval(a1)#使用eval函数去掉a1这个字符串两边的引号,使其执行加法运算
print(a2)#输出结果:15.540000000000001
print('----------------')
a3=eval(input('请输入一个数'))
print(a3,type(a3))#输出结果为a3的整型
十一、算术运算符
算术运算符:用于处理四则运算的符号
运算符 | 描述说明 | 示例 | 结果 |
+ | 加法 | 1+1 | 2 |
- | 减法 | 1-1 | 0 |
* | 乘法 | 2*3 | 6 |
/ | 除法 | 25/5 | 5.0 |
// | 整除 | 10//3 | 3 |
% | 取余 | 16%3 | 1 |
** | 幂运算 | 2**4 | 16 |
b1=2
b2=5
b3=b1+b2
print('b1+b2=',b3)#输出结果:b1+b2= 7
print('加法:',1+1)#输出结果:加法: 2
算术运算符的优先级由高到低的是:
- 第一级:**
- 第二级:*、/、%、、//
- 第三级:+、-
如果有括号先算括号
十二、赋值运算符
运算符 | 描述说明 | 示例 | 展开形式 |
= | 简单的赋值运算 | x=y | x=y |
+ = | 加赋值 | x += y | x = x+y |
- = | 减赋值 | x - = y | x = x-y |
* = | 乘赋值 | x *= y | x = x*y |
/= | 除赋值 | x /= y | x = x/y |
%= | 取余赋值 | x %= y | x = x%y |
**= | 幂赋值 | x **= y | x = x ** y |
//= | 整除赋值 | x //= y | x = x // y |
a=26
b=6
c=a+b
a += b
print(c)#输出结果32
print(a)#输出结果32
c1=a*b
a*=b
print(c1)#输出结果192
print(a)#输出结果192
c2=b%a
b%=a
print(c2)#输出结果6
print(b)#输出结果6
python支持链式赋值
c3=c4=c5=100#相当于执行c3=100,c4=100,c5=100
print(c3)
print(c4)
print(c5)
python支持系列解包赋值
d,e=25,10#相当于执行d=25,e=10
print(d)#输出结果25
print(e)#输出结果10
print('------------------')
#如何将这两个变量进行交换
d,e=e,d
print(d)#输出结果10
print(e)#输出结果25
十三、比较运算符
Python中的比较运算符有以下几种:
==
:等于,检查两个值是否相等。
!=
:不等于,检查两个值是否不相等。
>
:大于,检查左边的值是否大于右边的值。<:小于,检查左边的值是否小于右边的值。
>=
:大于等于,检查左边的值是否大于等于右边的值。<=:小于等于,检查左边的值是否小于等于右边的值。
这些比较运算符通常用于条件语句和循环中,用来对值进行比较,并根据比较结果决定程序的执行逻辑。比较运算符返回的结果是布尔值,即True
或False
。
运算符 | 描述说明 | 示例 | 展示形式 |
> | 大于 | 98>90 | True |
< | 小于 | 98<90 | False |
== | 等于 | 98==90 | False |
!= | 不等于 | 98!=90 | True |
>= | 大于或等于 | 98>=90 | True |
<= | 小于或等于 | 98<=90 | True |
print('判断20大于10吗?',20>10)#输出结果:判断20大于10吗? True
print('判断20小于10吗?',20<10)#输出结果:判断20小于10吗? False
print('判断20等于10吗?',20==10)#输出结果:判断20等于10吗? False
print('判断20不等于10吗?',20!=10)#输出结果:判断20不等于10吗? True
print('判断20大于或等于10吗?',20>=10)#输出结果:判断20大于或等于10吗? True
print('判断20小于或等于10吗?',20<=10)#输出结果:判断20小于或等于10吗? False
十四、逻辑运算符
Python逻辑运算符用于组合多个条件表达式,并根据条件的结果返回布尔值。
Python逻辑运算符有以下三种:
- and(与): 如果所有条件都为真,则返回True,否则返回False。
- or(或): 如果有一个条件为真,则返回True,否则返回False。
- not(非): 如果条件为真,则返回False,否则返回True。
x = 5
y = 10
# 使用and逻辑运算符
print(x > 0 and y > 0) # True
print(x > 0 and y < 0) # False
# 使用or逻辑运算符
print(x > 0 or y > 0) # True
print(x < 0 or y < 0) # False
# 使用not逻辑运算符
print(not x > 0) # False
print(not y < 0) # True
逻辑运算符可以用于控制程序的流程,例如在条件语句中判断多个条件的组合情况。同时,逻辑运算符也可以与比较运算符一起使用,构成更复杂的条件表达式。
十五、位运算符
位运算符概述
Python中的位运算符用于直接对整数在二进制层面进行操作。这些运算符将数字视为二进制(比特位)形式,逐位计算。以下是Python支持的位运算符及其功能描述。
按位与(&)
对两个数的二进制位逐位比较,只有对应位均为1时,结果的该位才为1。
a = 5 # 二进制 0101
b = 3 # 二进制 0011
result = a & b # 0001 (十进制 1)
按位或(|)
对两个数的二进制位逐位比较,只要对应位有一个为1,结果的该位即为1。
a = 5 # 0101
b = 3 # 0011
result = a | b # 0111 (十进制 7)
按位异或(^)
对两个数的二进制位逐位比较,对应位不同时结果的该位为1,否则为0。
a = 5 # 0101
b = 3 # 0011
result = a ^ b # 0110 (十进制 6)
按位取反(~)
对数的二进制位逐位取反(包括符号位),结果为该数的负数减1。
a = 5 # 二进制 0101
result = ~a # 1010 (补码表示,十进制 -6)
左移位(<<)
将数的二进制位向左移动指定位数,右侧补0。每左移一位相当于乘以2。
a = 5 # 0101
result = a << 1 # 1010 (十进制 10)
右移位(>>)
将数的二进制位向右移动指定位数,左侧补符号位(正数补0,负数补1)。每右移一位相当于除以2(向下取整)。
a = 5 # 0101
result = a >> 1 # 0010 (十进制 2)
应用场景
- 权限控制:用位掩码表示不同权限的组合与校验。
- 加密算法:异或运算常用于简单加密或哈希计算。
- 性能优化:在底层代码中,位运算比算术运算更快。
注意:位运算符仅适用于整数类型,其他类型需先转换为整数。
十六、运算符的优先级
Python中运算符的优先级如下(由高到低):
- 括号:
( )
- 指数运算符:
**
- 一元正号和负号:
+x
,-x
- 乘法、除法和取余:
*
,/
,//
,%
- 加法和减法:
+
,-
- 左移和右移:<<,
>>,~
- 位运算符:
&
,|
,^
- 比较运算符:<=,
<
,>
,>=
,==
,!=
- 赋值运算符:
=
,+=
,-=
,*=
,/=
,//=
,%=
,**=
,<<=
,>>=
,&=
,|=
,^=
- 逻辑运算符:
not
,and
,or
注意:如果表达式中有多个运算符,Python会按照上述的优先级顺序进行计算。如果需要改变计算顺序,可以使用括号来指定优先级。