1 编译器
编译器 将其他语言编译成机器语言的工具
翻译的方式有:一编译,二解释 ;两者的区别是:翻译时间点的不同
001_编译型和解释型语言工作对比.png- 编译型语言 :程序在执行之前需要一个专门的编译过程,把程序编译成机器语言的文件,运行时不需要重新翻译,直接使用编译的结果即可。执行效率高,依赖编译器,跨平台差
- 解释型语言 :编写的程序不进行预先编译工序,但运行程序时,必须先解释再运行。执行速度慢,跨平台性好
2 Python哲学
1.优雅
2.明确
3.简单
特点:
- 完全面向对象,万物皆对象
- 完全支持继承、重载、多重继承 ?????
- 支持重载运算符和泛型设计 ??????
3 Python 2.x与3.x
- 3.x版本的语法不兼容2.x
- 推荐使用3.x版本
- 过渡办法:按照3.x版本语法写程序,在2.x环境下执行,然后修改做兼容处理
4 进入Python解释器
1.Windows命令行进入python交互式环境: python
退出:exit() 或ctrl+z
2.Windows命令行进入ipython交互式环境:ipython
退出:exit 或ctrl+d
5 字符串
5-1 转义字符
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace),将光标位置回退一位 |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车,将光标位置回退到本行的开头位置 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
关于\r和\n两个转义符:
由于不同操作系统中定义不同:
- Windows中两者的功能实际上是有区别的:\n就是换行,从当前行换到下一行开头。
而\r则是回到所在行的开头,如果没有换行则回到该行的开头,起到的效果就是覆盖原来的内容;如果换行了就在下一行的开头,其效果类似于\n
for i in range(10):
print('\r%d' % i, end='')
time.sleep(0.1)
- 其他系统中对两者的定义略有不同。。。。。。。。。。
5-2 格式化字符串
- format方法
format方法既可以接受位置参数,也接受关键字参数
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
"{0} {1}".format("hello", "world") # 设置指定位置
"{1} {0} {1}".format("hello", "world") # 设置指定位置
"网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com")
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
数字格式化
print("{:.2f}".format(3.1415926));
# 3.14
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx | 数字补x (填充右边, 宽度为4) |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式---自动对小数进行计算 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
{:^10d} | 中间对齐 (宽度为10) | ||
11 | '{:b}'.format(11) | 1011 | 转二进制 |
11 | '{:d}'.format(11) | 11 | 转十进制 |
11 | '{:o}'.format(11) | 13 | 转八进制 |
11 | '{:x}'.format(11) | b | 转十六进制 |
11 | '{:#x}'.format(11) | 0xb | 转十六进制 |
11 | '{:#X}'.format(11) | 0XB | 转十六进制 |
大括号的转义用大括来实现:
print ("{} 对应的位置是 {{0}}".format("runoob"))
# runoob 对应的位置是 {0}
format作为函数变量:
name = 'InX'
hello = 'hello,{} welcome to python world!!!'.format #定义一个问候函数
hello(name) #输入结果:hello,inx welcome to python world!!!
- 格式化操作符%
python字符串格式化符号:
符 号 | 描述 | 说明 |
---|---|---|
%c | 格式化字符及其ASCII码 | |
%s | 格式化字符串 | |
%d | 格式化整数 | |
%u | 格式化无符号整型 | |
%o | 格式化无符号八进制数 | |
%x | 格式化无符号十六进制数 | |
%X | 格式化无符号十六进制数(大写) | |
%f | 格式化浮点数字,可指定小数点后的精度 | |
%e | 用科学计数法格式化浮点数 | |
%E | 作用同%e,用科学计数法格式化浮点数 | |
%g | %f和%e的简写 | |
%G | %f 和 %E 的简写 | |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令(在%与字母之间):
符号 | 功能 | 说明 |
---|---|---|
* | 定义宽度或者小数点精度 | |
- | 用做左对齐 | '%-10d' %5 --------'5 ' |
+ | 在正数前面显示加号( + ) | |
<sp> | 在正数前面显示空格 | |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') | |
0 | 显示的数字前面填充'0'而不是默认的空格 | '%010d' %5----'0000000005' |
% | '%%'输出一个单一的'%' | |
(var) | 映射变量(字典参数) | |
m.n | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) | '%5.1f' %27.658 --------27.7 |
6 运算符
1.身份运算符
is /is not
与==的区别:
is用于判断两个变量的引用是否为同一个,判断的是内存地址
==用于判断两个变量引用的值是否相等
网友评论