mac 安装python3
安装完成后:命令python3
就是使用python3.x版本,python
就是使用python 2.x
版本。也可以直接使用命令IDLE
。
数据类型
整数/浮点数/字符串/布尔值/空值
变量/常量
字符串:
如果字符串内部既包含'
又包含"
怎么办?可以用转义字符\
来标识,比如:
>>> print("i'm ok")
i'm ok
为了简化,Python还允许用r''表示''内部的字符串默认不转义:
>>> print('i \'m')
i 'm
>>> print(r'i \'m')
i \'m
多行内容:
>>> print(''' line1
... line2
... line3
... ''');
line1
line2
line3
BOOL
在Python中,可以直接用True
、False
表示布尔值.
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布尔值可以用and(与)、or(或)和not(非)运算。
>>> not True
False
>>> not False
True
>>> not 1 > 2
True
空值
空值是Python里一个特殊的值,用None
表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
变量
变量名必须是大小写英文、数字和_的组合,且不能用数字开头。
常量
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。
最后解释一下整数的除法为什么也是精确的。在Python中,有两种除法,一种除法是/:
>>> 10 / 3
3.3333333333333335
/
除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:
list
list是Python内置的列表.
len()
函数可以获取list元素的个数。
myList[n]
:可以访问对应下标的元素,需要注意不要越界。
mylist[-1]
: 下标为-1时,可以获取到最后一个元素。
mylist.appned(xx)
:使用append()
添加元素。
mylist.insert(1,'jack')
:使用insert
插入元素到指定的位置。
mylist.pop()
:删除末尾元素
mylist.pop(i)
:删除指定索引位置的元素
mylist[i] = 'Sara'
:某个元素替换成别的元素,可以直接赋值给索引位置
L = ['Apple',123, True, [1,2,3]]
:数组元素类型可以不同
>>> classmates = ['a','b','c']
>>> classmates
['a', 'b', 'c']
>>> len(classmates)
3
>>> classmates[0]
'a'
>>> classmates[-1]
'c'
tuple
元组一旦初始化就不能修改
>>> cs = ('Mic','Bob', 'Tyc')
>>> cs2 = (1,) #声明一个元素的元组
"可变"的一种情况:
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
条件
if
age = 20
if age > 10
print('xx')
else age > 100
print('vv')
else:
print('ss')
循环
for in
names = ['name',2,3]
for name in names:
print(name)
range()
函数可以生成队列
>>> list(range(5))
[0, 1, 2, 3, 4]
while
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
使用dict和set
dict 字典
dict是无序的。
和list比较,dict有以下几个特点:
dict
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
初始化:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
存放(覆盖):
>>> d['Adam'] = 67
>>> d['Adam']
67
如果key不存在,dict就会报错。判断key是否存在:
使用in
:
'ss' in d
会返回布尔值。
使用get
:
如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas') #返回None的时候Python的交互环境不显示结果。
>>> d.get('Thomas', -1)
-1
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
#重复元素在set中自动被过滤:
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
add(key)
方法可以添加元素到set中,可以重复添加,但不会有效果:
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)
方法可以删除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
函数
系统内置的函数:
name | | 举例 |
---|
abs | 绝对值 | abs(-20)得到20 |
max | | max(1,2) max(2,3,4,-1) |
| | |
数据类型转换: int('123')
、float(12.23)
、bool(1)
等
定义函数
使用def
语句
def my_abs(x):
if x >= 0:
return x
else:
return -x
print(my_abs(-99))