Python 基础知识点(一)
前言
很久之前学过 Python,最近公司项目需要用到,回头重拾 Python,却发现忘个精光,所以决定一边学习一边对基础知识点进行整理,防止以后又得重头看教程。o(∩_∩)o
-
Python 的一个缺点是代码不能加密。如果要发布你的 Python 程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。
-
要运行 Python 代码,就需要 Python 解释器去执行.py文件。
-
由于整个 Python 语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写 Python 解释器来执行 Python 代码(当然难度很大)。
-
常见 Python 解释器有:
- CPython(官方版本,使用最广的)
- IPython(基于CPython,交互方式增强)
- PyPy(执行速度快)
- Jython(Java平台的)
- IronPython(.NET平台的)
-
PyPy 和 CPython 存在一些差异,相同的 Python 代码在两种解释器下执行可能会有不同的结果。如果要在 PyPy 下执行,就需要了解 PyPy和CPython的不同点 。
-
在命令行模式下敲命令 python,能够进入到 Python 交互模式,它的提示符是>>>,输入exit()并回车,就退出了 Python 交互模式,并回到命令行模式
-
input() 函数能够接收用户输入的内容。
-
用 print() 在括号中加上字符串,就可以向屏幕上输出指定的文字。
-
print() 函数也可以接受多个字符串,用逗号 “ , ” 隔开,就可以连成一串输出。print() 会依次打印每个字符串,遇到逗号 “ , ” 会输出一个空格。
>>> print('The quick brown fox', 'jumps over', 'the lazy dog') The quick brown fox jumps over the lazy dog
-
以 # 开头的语句是注释,解释器会忽略掉注释。
-
多行注释可以用多个 # 号,还有 ''' 和 """ 。
-
每一行都是一个语句,当语句以冒号 : 结尾时,缩进的语句视为代码块。
-
按照约定俗成的管理,应该始终坚持使用4个空格的缩进。
-
Python 程序是大小写敏感的。
-
Python 能够直接处理的数据类型:整数、浮点数、字符串、布尔值、空值。
-
整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。
-
空值是 Python 里一个特殊的值,用 None 表示。
-
Python 还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。
-
变量名必须是大小写英文、数字和 _ 的组合,且不能用数字开头。
-
同一个变量可以反复赋值,而且可以是不同类型的变量
-
对变量赋值 x = y 是把变量 x 指向真正的对象,该对象是变量 y 所指向的。随后对变量 y 的赋值不影响变量 x 的指向。
-
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
#!/usr/bin/python3 # -*- coding: utf-8 -*-
第一行注释是为了告诉 Linux/OS X 系统,这是一个 Python 可执行程序,Windows 系统会忽略这个注释;第二行注释是为了告诉 Python 解释器,按照 UTF-8 编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
-
在 Python 中,% 运算符被用来格式化字符串的。
-
常见的占位符有:
占位符 替换内容 %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数 -
格式化整数和浮点数还可以指定是否补 0 和整数与小数的位数
print('%2d-%02d' % (3, 1)) # 3-01 print('%.2f' % 3.1415926) # 3.14
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) # 'Hello, 小明, 成绩提升了 17.1%'
-
【条件判断】if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,把该判断对应的语句执行后,就忽略掉剩下的 elif 和 else。
age = 20 if age >= 6: print('teenager') elif age >= 18: print('adult') else: print('kid')
-
【条件判断】if 判断条件还可以简写,只要 x 是非零数值、非空字符串、非空 list 等,就判断为
True,否则为 False。if x: print('True')
-
【循环】for...in 循环,依次把 list 或 tuple 中的每个元素迭代出来。
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) # 输出结果 #--------------------------------------- # Michael # Bob # Tracy
-
【循环】while 循环,只要条件满足,就不断循环,条件不满足时退出循环。
sum = 0 n = 99 while n > 0: sum = sum + n n = n - 2 print(sum)
-
Python 提供一个 range() 函数,可以生成一个整数序列,再通过 list() 函数可以转换为 list。
>>> list(range(5)) [0, 1, 2, 3, 4]
-
在循环中,break 语句可以提前退出循环。
-
在循环过程中,也可以通过 continue 语句,跳过当前的这次循环,直接开始下一次循环。