一.python简介:
1. Python 2.x
与 3.x
版本简介 :
-
Python 2.x 默认不支持中文
-
Python 2.x 的解释器名称是 python
-
Python 3.x 的解释器名称是 python3
-
Python 3.0
在设计的时候 没有考虑向下兼容 -
2010 年中推出的
Python 2.7
被确定为 最后一个Python 2.x 版本。通常使用Python 2.6
、Python 2.7
来执行,并且做一些兼容性的处理
2. 执行 Python 程序的三种方式:
-
解释器 ——
python
/python3:python xxx.py/python3 xxx.py;
直接输入exit()/
使用热键退出ctrl + d。 -
交互式 ——
ipython:
直接输入exit/
使用热键退出ctrl + d。IPython 中 的 “I” 代表 交互 interactive,IPython 是一个 python 的 交互式 shell,比默认的python shell
好用得多;IPython 是基于 BSD 开源的(今天,“BSD”并不特指任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称)。 -
集成开发环境 ——
PyCharm
3. 解释器:
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
在不同的操作系统中需要使用不同的gcc,不同操作体统的库函数都是不同的。而python只需要换一个解释器就可以了。
编译型语言和解释型语言对比:
-
速度 —— 编译型语言比解释型语言执行速度快
-
跨平台性 —— 解释型语言比编译型语言跨平台性好
Python 的解释器有多大?
# 1. 确认解释器所在位置
$ which python
# 2. 查看 python 文件大小(只是一个软链接)
$ ls -lh /usr/bin/python
# 3. 查看具体文件大小
$ ls -lh /usr/bin/python2.7
二.语法基础:
一.注释:
1. 单行注释:
为了保证代码的可读性,#
后面建议先添加一个空格,然后再编写相应的说明文字;为了保证代码的可读性,注释和代码之间 至少要有 两个空格
print("hello python") # 输出 `hello python`
20 多行注释:
用 一对 连续的 三个 引号(单引号和双引号都可以)
"""
多行注释
"""
'''
多行注释
'''
print("hello python")
二.变量:
一. 变量的类型:
在 Python
中定义变量是 不需要指定类型 ;数据类型可以分为 数字型 和 非数字型 。也可以说Python3有六个标准数据类型。
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
所谓不可变就是创建一个变量时必须赋值,而二次赋值则是删除次变量再创建一个进行替换。
Number:
1. 整型 (int
)、2. 浮点型(float
)、3. 布尔型(bool
)真 True
非 0 数
—— 非零即真;假 False
0
4.复数型 (complex
)
非数字型:1.字符串、2. 列表、3. 元组、4. 字典
在 Python 2.x 中,整数 根据保存数值的长度还分为:
-
int
(整数) -
long
(长整数)
使用 type
函数可以查看一个变量的类型
age = 2 ** 30
print(type(age)) # <type 'int'>
age = 2 ** 64
print(type(age)) # <type 'long'>
二. String
单引号、双引号、或者三引号可以多行;可以用数组下标访问,可以使用冒号截取,从0开始,含头不含尾,-1是倒数第一个元素;支持加法,支持乘法支持转义。总结一下字符串运算符:+、*、[]、[ : ]、in、not in、r / R、%、f-string
>>> name = 'Runoob'
>>> f'Hello {name}' # 替换变量
>>> f'{1+2}' # 使用表达式
'3'
在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u。
在Python3中,所有的字符串都是Unicode字符串。
操作函数与操作符:len()、max()、min()、list(),+、*、in
成员方法:不列举了。
三. List
使用中括号初始化。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
四. Tuple
元素不能修改,使用小括号初始化;只有一个元素时,需要添加逗号:tup = (20, )
五. Set
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
一般用于去重。
记住一句话:世界上本没有Set。其实Set就是Map的Key。
六. Dictionary
如下五种赋值方式:
# 1
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
# 2
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
# 3
>>> dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
# 4
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
# 5
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}
字典的内置的函数:例如clear()、keys()、values()等。
4.变量的格式化输出:
%s %d %c %%
print("asdf%sasdf" % ("1111"))
三.流程控制:
一.if语句:
代码的缩进为一个 tab
键,或者 4 个空格 —— 建议使用空格 ;在 Python 开发中,Tab 和空格不要混用!
二.if else语句:
三.逻辑运算符:
- and 连接
- or 连接
- not 取反
四.逻辑运算符:
a = 1
b = 2
if a > b:
print("a > b")
elif a == b:
print("a == b")
else:
print("a < b")
五.随机数:
import random
num = random.randint(1, 100) # [1, 100]
print(num)
六.while循环:
i = 1
sum = 0
while i <= 100:
if i % 2 != 0:
i += 1
continue
sum += i
i += 1
print(sum)
四.运算符:
一.比较(关系)运算符:
- ==
- >
- <
- >=
- <=
- !=
二.赋值运算符:
- =
- +=
- -=
- *=
- /=
- //=
- %=
- **=
三.运算符优先级:
运算符 | 描述 |
---|---|
** | 幂 (最高优先级) |
* / % // | 乘、除、取余数、取整除 |
+ - | 加法、减法 |
<= < > >= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
not or and | 逻辑运算符 |
is 与 == 区别:
is
用于判断 两个变量 引用对象是否为同一个==
用于判断 引用变量的值 是否相等
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> b is a
False
>>> b == a
True