输入输出函数print
将数据输出文件中:
注意:1、所指定的盘符在存在2、使用file=fp
fp=open('D:/text/txt','a+')#a+如果文件不存在就创建,存在就在文件内容的后面继续追加
print('helloworld',file=fp)
fp.close()
不进行换行输出:
print('hello','world')
转义字符与原字符
转义字符:就是反斜杠+想要实现的转义功能首字母
print('hello\nworld')#\+转义功能的首字母 n-->newline的首字符表示换行
print('hello\tworld')#\t前占满一个制表位则重新开,不占满则不重新开 t-->tab的首字符表示制表符
print('hello\rworld')#\r中world把hello覆盖了 r-->return的首字符表示回车
print('hello\bworld')#\b退一个格 b-->backspace的首字符表示退一个格
原字符:不希望字符串中的转义字符起作用,就使用原字符,就是在字符串之前加上r或R
注意:最后一个字符不能是反斜杆,两个行一个不行
print(r'hello\nworld')
二进制与字符编码
1或0
8bit=1byte
1024byte=1KB 千字节
1024KB=1MB 兆字节
1024MB=1GB 吉字节
1024GB=1TB 太字节
print(chr(0b100111001011000))#ob表示二进制
print(ord('乘'))
Python中的标识符和保留字
我的保留字:关键字
变量、函数、类、模块和其他对象起的名字叫标识符
规则:
1、字母、数字、下划线
2、不能以数字开头
3、不能是我的保留字
4、严格区分大小写
import keyword#查看关键字(保留字)
print(keyword.kwlist)
变量的定义和使用
变量由三部分组成:
1、标识:表示对象所存储的内存地址,使用内置函数id(obj)了获取
2、类型:表示的是对象的数据类型,是用内置函数type(obj)来获取
3、值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出
变量名=值
变量的多次赋值
当多次赋值后,变量名会指向新的空间
常见的数据类型
整数类型->int
浮点数类型->float
布尔类型->bool
字符串类型->str
整数类型
英文integer,简写int,可以表示正数、负数、零
十进制->默认的进制
二进制->以0b开头
八进制->以0o开头
十六进制->以0x开头
浮点类型
浮点数整数部分和小数部分组成
浮点数存储步精确性:使用浮点数进行计算时,可能会出现小数位数不确定的情况
解决方案:导入模块decimal
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))
布尔类型
用来表示真或假的值
True表示真,False表示假
布尔值可以转化为整数:True->1,False->0
字符串类型
字符串又被称为不可变的字符序列
可以使用单引号、双引号、三引号定义
单引号和双引号定义的字符串必须一行
三引号定义的字符串可以分布在连续的多行
数据类型转换
str()、int()、float()
将str转成int类型,字符串为数字串,不能是小数串
float转成int类型,截取整数部分,舍掉小数部分
a=10
b=9.3
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))
注释
在代码中对代码功能进行解释说明的标注性文字,可以提供代码的可读性
注释的内容会被Python解释器忽略
1、单行注释->以#开头,直到换行结束
2、多行注释->并没有单独的多行注释标记,将一对三引号之间 的代码称多行注释
3、中文编码声明注释->在文件开头加上中午声明注释,用以指定源码文件的编码格式
#coding:gbk
#coding:utf-8
input函数
input函数作用:接收来自用户的输入
返回值类型:输入值的类型为str
值的存储:使用=对输入的值进行存储
present=input('想要什么礼物?')
'''
present:变量
input()函数是一个输入函数,需要输入回答
'''
算术运算符
1、标准算术运算符:加+、减-、乘*、除/、整除//(一正一负向下取整)
2、取余运算符%(一正一负要公式:余数=被除数-除数x商)
3、幂运算符
赋值运算符
执行顺序:右->左
支持链式赋值:a=b=c=20
支持参数赋值:+=、-=、/=、//=、%=
支持系列解包赋值:a,b,c=20,30,40(左右个数一致)
比较运算符
==对象value的比较
is、not is对象ID的比较
布尔运算符
and并且、or或者、not非、in、not in
位运算
将数据转成二进制进行计算
&与、l或、<<左移(高位溢出舍弃,低位补0)、>>右移(低位溢出舍弃,高位补0)
运算符的优先级
算术运算符–> 位运算–>比较运算符–>布尔运算–>赋值运算 (由高到低)
顺序结构
对象的布尔值
Python一切皆对象,所有对象都有一个布尔值
使用内置函数bool()获取对象的布尔值
以下对象的布尔值为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))#空字符串
print(bool(""))#空字符串
print(bool([])#空列表
print(bool(list()))#空列表
print(bool(()))#空元组
print(bool(tuple()))#空元组
print(bool({}))#空字典
print(bool(dict()))#空字典
print(bool(set()))#空集合
单分支结构
if 条件表达式:
条件执行体
双分支结构
if 条件表达式:
条件执行体1
else:
条件执行体2
多分支结构
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式n:
条件执行体n
[else:]
条件执行体n+1
if的嵌套使用
if 条件表达式1:
if 内层条件表达式2:
内存条件执行体1
else:
内层条件执行体2
else:
条件执行体
条件表达式
x if 判断条件 else y
range函数的使用
用于生成一个整数序列
创建range对象的三种方式
返回值是一个迭代器对象
range类型的优点:不管range对象表示的整数序列多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才回去计算序列的相关元素
in与not in判断整数序列总是否存在(不存在)指定的整数
while循环
while 条件表达式:
条件执行体(循环体)
for-in循环
遍历的对象必须是可迭代对象
for 自定义变量 in 可迭代对象:
循环体
如果在循环体重不需要使用自定义变量,可将自定义变量写为"_"
for _ in range(5):
print("人生苦短,我用Python")
#输出100到999之间的水仙花数
'''
水仙花数:每位数字的三次方相加等于原来的数
'''
for x in range(100,1000):
if (x//100)**3+(x%100//10)**3+(x%10)**3==x:
print(x)
流程控制语句break
break语句:用于结束循环结构,通常与分支结构if一起使用
流程控制语句continue
continue语句:用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用
for i in range(1,51):
if i%5!=0:
continue
print(i)
else语句
与else语句配合使用的三种情况:
for i in range(3):
pwd=input("请输入密码:")
if pwd=='888':
print("密码正确!")
break
else:
print("密码不正确")
else:
print("对不起,三次密码均输入错误!")
while a<3:
pwd=input("请输入密码:")
if pwd=="888":
print("密码错误")
break
else:
print("密码错误")
a+=1
else:
print("对不起,三次密码均输入错误")
嵌套循环
循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体执行
#3*4矩阵
for i in range(1,4):
for j in range(1,5):
print("*",end="\t")
print()
#九九乘法表
for i in range (1,10):
for j in range(1,i+1):
print(i,'*',j,'=',i*j,end="\t")
print()
二重循环中的break和continue
二重循环中的break和continue用于控制本层循环
本笔记为观看哔哩哔哩视频所记:https://www.bilibili.com/video/BV1wD4y1o7AS