1、python安装
brew install python3
python是典型的动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
2、数据类型
2.1字符串
字符串转义
在字符串中通过 '' 来转义文本,
print('I\'m, ok')输出:I'm, ok
也可以通过 r 来指定不转义文本内容
print(r"I\'m, ok")输出:I\'m, ok
字符串切片
字符串格式化
和c中一样,用%来表示占位符
print('I\'m, %s, 成绩升上%.1f%%' % ('费凯鑫', 100))
常见的占位符有
| 占位符 | 替换内容 |
|---|---|
| %d | 整数 |
| %f | 浮点数 |
| %s | 字符串 |
| %x | 十六进制整数 |
另一种是format
# 用传入的参数依次替换字符串内的占位符{0}、{1}……,'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)# {1:.1f} 表示传入的第二个参数进行格式化保留一位小数
2.2 布尔值
在python中布尔值是区分大小写的。如 True和 False
2.3 空值
用 None表示
2.4 整数
用 / 表示整数的除法,但是结果值为浮点数 eg: 9/3 为 3.0
用// 也表示整数的除法,结果保留整数(向下取整) eg: 10//3 为 3
2.5 浮点数
2.6 列表
arr = [1,2,3]
常用方法
- append 在列表最后添加元素
- insert 在指定索引位置添加元素
- pop 删除指定元素
全局的方法 range()可以生成指定范围的有序整数
全局的方法 input()可以指定用户输入
2.7 元组(不可变的数组)
arr = (1,2,3);
注意:当tuple只有一个元素的时候必须在后面追加逗号**(1,) ,** 否则就定义成为整数类型的1了。
2.8 dict和set(对象)
dict数据结构常用方法
#通过构造函数创建空 bytesb1 = bytes()#通过空字符串创建空 bytesb2 = b''#通过b前缀将字符串转换成 bytesb3 = b'http://c.biancheng.net/python/'print("b3: ", b3)print(b3[3])print(b3[7:22])#为 bytes() 方法指定字符集b4 = bytes('C语言中文网8岁了', encoding='UTF-8')print("b4: ", b4)#通过 encode() 方法将字符串转换成 bytesb5 = "C语言中文网8岁了".encode('UTF-8')print("b5: ", b5)
3、条件判断 和循环、with、异常处理
# 条件判断if <条件判断1>:<执行1>elif <条件判断2>:<执行2>elif <条件判断3>:<执行3>else:<执行4># for...in循环sum = 0for x in range(101):sum = sum + xprint(sum)# while 循环sum = 0n = 99while n > 0:sum = sum + nn = n - 2print(sum)# 在while循环中也可以用break和continue 语句
3.1 with语句
with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源
首先看下比较冗长的写法
try:f = open('xxx')except:print('fail to open')exit(-1)try:do somethingexcept:do somethingfinally:f.close()
在看with语句的写法
with open("1.txt") as file:data = file.read()
3.2 assert — 断言
assert ('linux' in sys.platform), "代码只能运行在linux环境中"
3.3 raise语句
try:import urllib.requestexcept ImportError:raise ImportError('You should use Python 3.x')
4、函数
4.1 python3中的内置 函数

4.2 定义函数
def my_abs(x):if x >= 0:return xelse:return -x
4.3 函数的参数(可变参数,默认参数,关键字参数,命名关键字参数)
参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
# 默认参数def my_abs(x=2):if x >= 0:return xelse:return -x# 可变参数def calc(*numbers):sum = 0for n in numbers:sum = sum + n * nreturn sum# 关键字参数 ---- 接收一个dictdef person(name, age, **kw):print('name:', name, 'age:', age, 'other:', kw)person('Adam', 45, gender='M', job='Engineer')# 命名关键字参数def Person(name, age, *, city, job):print(name, age, city, job)
5、类
5.1 定义类
class Man(object):def __init__(self, name, sex):# 定义实例属性nameself.name = name# 定义私有属性 __sexself.__sex = sexdef hello(self):print("Hello:" + self.name + "!")
5.2 获取对象信息
- type()
type("str")# <class 'str'>
- isinstance()
- dir()
- hasattr() getattr() setattr()
6、python模块
6.1 标准文件开头
#!/usr/bin/env python3# -*- coding: utf-8 -*-' a test module '__author__ = 'xiaose'
6.2 导入第三方模块
import numpy as npfrom numpy import *
在一个模块中可以使用 all = [“a”, “b”]来控制from numpy import * 导入的内容
7、如何引入python的外部库
7.1 anaconda的安装
7.2 网页版的jupyter
这里可以使用jupyter的镜像使用,采用docker的技术方案
docker pull jupyter/datascience-notebookdocker -d -p 8080:8888 jupyter/datascience-notebookdocker logs $(docker ps -q)# 此时查看控制台打印出来的tocken值在网页中localhost:8080/ 输入tocken和新密码docker stop $(docker ps -q)
