1.基础知识
1.1 print() 输出
- 输出字符串。–>print(‘helloworld’)
- 输出含有运算符的表达式.。–>print(3+1)
- 将数据输出进文件中,要求指定的盘存在,使用file=fp。
fp = open('D:/text.text','a+')
print('hellowworld',file=fp)
fp.close()
- 不进行换行输出,让输出的内容在一行。(单独print会自动换行)
print('hello','world','Python')
1.2 常用的转义字符
无法直接表示的字符:
- 换行 \n 移动到下一行的开头
- 回车 \r 移动到本行的开头
- 水平制表符 \t 移动到下一组四个空格的开始处
print('hello\tworld') #输出:hello world 中间三个空格
print('helloooo\tworld') #输出: helloooo world中间四个空格
- 退格 \b 回退一个字符
有特殊用途的字符: - 反斜杠 \
- 单引号 \‘
- 双引号 "
1.3 二进制与字符编码
- 8bit = 1byte
- 1024byte = 1kb
- 1024kb = 1Mb
- 1024Mb = 1Gb
1.4 标识符和保留字
- 例子:
import keyword
print(keyworld.kwlist)# 可以输出所有保留字
- 变量、函数、类、模块和其它对象起的名字就叫标识符。
- 由字母、数字、下划线构成,首字母不能是数字,不能是保留字,严格区分大小写。
1.5 变量的定义和使用
name = 'liua'# 表示含义:id=82637868 type=str value='liua'
print(name)
print('标识',id(name)) #输出标识id
print('类型',type(name)) #输出类型type
print('值',name)
1.6 数据类型
- 整数类型
十进制:0123456789;逢10进一;118
二进制:0,1;逢2进一;0b10101111
八进制:01234567;逢8进一;0o176
十六进制:0123456789ABCDEF;逢16进一;0x1EAF
print('十进制',118) #默认的进制
print('二进制',0b10101111) #输出175
print('八进制',0o176) #输出126
print('十六进制',0x1EAF) #输出7855
- 浮点数类型
浮点数存储具有不精确性,可能会出现小数位数不精确的情况
print('1.1+2.2)#3.3000000000000003
# 解决 导入Decimal
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) #3.3
- 布尔类型
布尔值可以转成整数计算,True = 1,False = 0 - 字符串类型
不可变的字符序列;可以用单引号’ ‘,双引号" “,三引号”’ "'来定义;单引号和多引号定义的字符串必须在一行,三引号可以在不同行
1.7 数据类型转换
- str():将其他数据类型转换成字符串,也可以用引号
str(123)
或'123'
- int():将其他数据类型转换成整数
1.文字类和小数类字符串,无法转换成整数
print(int('liuqiu')) #报错 print(int(1.6)) #报错
2.浮点数转换成整数,抹零取整
print(int(1.6)) #1
- float(): 将其他数据类型转换成浮点数
1.文字类无法转换成浮点数
2.整数转换成浮点数,末尾为.0
总结:可以向上转型,不能向下转型。
1.8 注释
- 单行注释
#
- 多行注释
‘’‘ ’‘’ 或“”“ ”“”
- 中文编码声明:放在代码文件开头
#coding:utf-8
1.9 输入函数input()
- 作用:接受来自用户的输入
- 返回值类型:str
- 值的存储:使用=对输入的值进行存储
1.10 运算符
- 算数运算符
注意点:
1.取余时一正一负,余数=被除数-除数*商。9%-4 的商为-3
2.有疑问的地方:
#//为取整
print(26.5//2) #输出13.0,为float类型?
print(13.0%2) #输出为1.0
- 赋值运算符
执行顺序:右→左;
链式赋值:a=b=c=0;# a,b,c指向同一个id,type,value
参数赋值:+=,-=,/=,%=,**=,//=;
系列解包赋值:a,b,c=20,30,40(名字奇奇怪怪
#交换两个变量的值
a,b=1,0#赋值
b,a=a,b#交换
print(a,b)#0 1
- 比较运算符
, < ,>=, <=,!=
==:对象value的比较。print(a==b)# True 说明a,b 的value相等
is:对象id的比较。print(a is b)# True 说明a,b的id标识相等
is not:print(a is not b)# True 说明a,b的id标识不相等
a =1
b =1 #两个整数的id标识相等
print(id(a),id(b)) #140726104561424 140726104561424
print(a==b)# True
print(a is b)# True
print(a is not b)#False
list1= [1,2]
list2= [1,2] # 两个列表的id标识不等
print(id(list1),id(list2)) #2016245053952 2016245047232
print(list1==list2)# True
print(list1 is list2) #False
print(list1 is not list2) #True
- 布尔运算符
and , or , not , in , ont in
#in 与 not in
s='123456'
print('1' not in s) #False
- 位运算符
&;|;<<;>>;
& 与 |
左移位:高位溢出,低位补零
右移位:高位补零,低位截断
- 运算符的优先级
①算术运算符 先算乘除再算加减,有幂运算先算幂运算
②位运算 << >> ,&, |
③比较运算符 >,<,>=,<=,==,!=
④布尔运算符 and or
⑤赋值运算符 =