一,python 小知识
#可以输出数字
print(52)
print(98.5)
#可以输出字符串
print('hello word')
#可以输出运算符表达式
print(5+6)
#不进行换行输出(输出内容在一行当中)
print('hello','world','Python')
#将数据输出文件中 注意 所指定的盘符存在 2.使用file=fp
fp=open('D:/text.txt','a+')#a+ 如果文件不存在就创建 ,存在就在文件内容后面继续追加
print('helo world',file=fp)
fp.close()
转义字符
#转义字符 \\ \' \"
print('hello\nworld') #\n 首字符换行
print('hello\tworld')#\水平制表符号
print('helloooo\tworld')
print('hello\rworld')#\rworlde将hello进行了覆盖
print('hello\bwprld') #\ b 是推一个格,将o退没
#原字符:不希望原字符中的的转义字符起作用,就使用元字符,就是在字符串之前加上r或R
print(r'hello\nworld')
#注意事项,最后一个字符不能是反斜杠
#print(r'hello\nworld\')
print(r'hello\nworld\\')#两个\\可以
print(chr(0b100111001011000)) #chr字符变量
print(ord('乘')) #数字变量
name ='玛丽亚'
print(name)
print('地址',id(name))
print('类型',type(name))
print('值',name)
二,数据类型
- 常用的数据类型:
整数类型 int
浮点数类型 float
布尔类型 bool—>True.False
字符串类型 str—>人生苦短,我用python
\# 整数类型 int(默认为十进制)
n=20
n1=0
n2=-56
print(n, n2, n1)
\#二进制 0b
print("二进制",0b1010110)
\#八进制 0o
print('八进制',0o176)
\#十六进制 0x
print('十六进制',0x12a)
\# 浮点类型 float
n1=1.1
n2=2.2
print(n1+n2) #结果为3.3000000000000003 得数可能不精确
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) #结果为3.3
布尔类型 bool
\# True为真 False为假;布尔值可以转成整数,进行运算 true为1 false为 0
f1=True
f2=False
print(f1+1) #1+1=2
print(f2+1) #0+1=1
字符串类型
数据类型转换
# 将不同的数据类型拼接在一起
name='hcj'
age=18
print('我叫'+name+',今年'+str(age)+'岁')#将int类型通过str()转化为str类型
#注意str转化为int类型时,字符串必须为数字串(整数);非数字串不允许转换
字符串中的数据如果是非数字串,则不允许转换
函数名 | 作用 | 注意事项 | 举例 |
---|---|---|---|
int() | 将其他数据类型转化为整数 | 1. 文字类和小数类字符串,无法转化为整数 2.浮点数转化为整数,抹零取整 | int(‘123’) |
str() | 将其它数据类型转化为字符串 | 也可用引号转换 | str(123) “123” |
float() | 将其他数据类型转化为浮点数 | 1. 文字类无法转化为整数2.整数转化为浮点数,末尾为 .0 | float(‘9’) 9.0 |
#注意str转化为int类型时,字符串必须为数字串(整数);非数字串不允许转换
字符串中的数据如果是非数字串,则不允许转换
present=input("大声说想要什么礼物") 注:present是“str”
print(present)
#运行结果 大声说想要什么礼物 爱
#爱
#Python当中的运算符·
三,运算符
算术预算符
#算术预算符
print(1+2)#加
print(3-2)#减
print(6*5)#乘
print(6/3)#除
print(11//2) #整除运算
print(11%2)#取余运算
print(2**3) #表示二的三次方
'''一正一负的情况下'''
#整除
print(-9//4) # (一正一负向下取整)
# 取余 (一正一负)
print(9%-4)#结果为-3 9-(-3)*(-4) 9-12->-3
print(-9%4) -9-(4)*(-3) # -9+12->3
赋值运算符
#1.运算顺序从右到左
i=3+4
a=b=c=20 # 链式赋值 结果为20 20 20
a=20 # 支持参数赋值
a+=30 #(相当于a=a+30)
a,b,c=20,30,40 #支持系列解包赋值
#结果为 a=20,b=30,c=40
#注;1.左右变量的个数和值的个数对应
a,b=b,a # 交换两个变量的值
比较运算符
#比较运算符,比较结果为布尔类型
a,b=10,20
print('a>b吗',a>b)#False
print('a<b吗',a<b)#True
print(a<=b)# True
print(a>=b)#False
print(a==b)#False
print(a!=b)# True
''' = 称为赋值运算符,
== 称为比较运算符 比较的是值
is比较对象的标识使用 '''
a=10
b=10
print(a==b) #比较的是value
print(a is b) #比较的是id
'''lst1=[11,22,33,44]
lst2=[11,22,33,44]'''
print(lst1==lst2) #True
print(lst1 is lst2 ) #False
print(id(lst1),id(lst2)) # lst1 2188782794944 lst2 2188782760576
print(a is not b) #False
print(lst1 is not b) #True
布尔运算符
a,b=1,2
print(a==1 and b==2) #True
print(a==1 and b<2) #False
print(a!=1 or b==2) #True
print(a!=1 or b!=2) #False
f1=True
f2=False
print(not f1) #False
print(not f2) # True
print('-------------in 与 not in---------------')
s='hello world'
print('w'in s)#True
print('h'in s)#True
print('s'in s)#False
print('z'in s)#False
位运算符
- 注意:
位与,位或 运算符计算时转化为而进制进行计算
位移运算符 向左移动一位 乘以二
向右移动一位 除以二
运算符的优先级比较
四 ,分支结构
双分支结构
- 双分支结构结构if…else,二选一执行
#从键盘上录入一个整数,判断为奇数还是偶数
num = int(input('请输入一个整数'))
if num % 2 == 0:
print(num,'为偶数')
else :
print(num,'为奇数')
多分支结构
'''90-100 A 80-89 B 70-79 C 60-79 D 0-59 E '''
score=int(input('请输入一个数:'))
if score>=90 and score<=100 :
print('A级')
elif 80<=score<90:
print('B级')
elif score>=70 and score<80:
print('C级')
elif 60<=score<=69:
print('D级')
else:
print('E级')
嵌套 if
'''会员 >=200 8折
>=100 9折
非会员 >=200 9.5折'''
answer=input("您是会员吗")
mony=float(input())
if answer=='y':
if mony>=200:
print('打八折,付款金额为=',mony*0.8)
elif mony >= 100:
print('打9折,付款金额为=',mony * 0.9)
else:
print('不打折,付款金额为=',mony)
else:
if mony >= 200:
print('打9折,付款金额为=',mony * 0.9)
else:
print('不打折,付款金额为=',mony)
条件表达式
print('---------使用条件表达式-----------')
num_a=int(input())
num_b=int(input())
print(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于等于'+str(num_b))
pass 语句
answer=input('您是会员吗')
if answer=='y':
pass
else:
pass
参考视频:
https://www.bilibili.com/video/BV1wD4y1o7AS?spm_id_from=333.999.0.0