PyCharm
PyCharm是一款适用于苹果操作系统的IDE环境,具有专业的Python编程功能,通过他可以实现调试、语法高亮、Project管理、代码跳转等功能,同时支持avaScript, CoffeeScript, TypeScript, HTML/CSS, Cython, Template languages等语言。
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完 成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
软件特色
智能编辑:为Python提供代码完成,快速切换语法,错误代码高亮显示和代码检查;
代码重构:包括重命名,引入变量,不断引进,拉,推下来,其他人;
使用Django进行Web开发:支持特定的模板编辑,服务器从IDE的启动,对HTML,CSS和JavaScript编辑的支持;
项目和代码导航:项目查看,文件结构查看,在文件,类,方法间快速跳转;
Error-Free编码:快速进行代码分析,错误高亮显示和快速修复;
集成VCS:支持Subversion, Perforce, Git以及CVS 等.
下载pycharm的dmg文件:
http://www.jetbrains.com/pycharm/
如何在Mac版本的Python里安装pip?
- Install easy_install
curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
- Install pip
sudo easy_install pip
python -V
Python 2.7.10
pip -V
pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)
列出已安装的包
pip freeze or pip list
sudo pip install lxml
sudo pip install requests
sudo pip install numpy
sudo pip install pandas
sudo pip install -i https://pypi.douban.com/simple pandas
sudo pip install beautifulsoup4
sudo pip install xlrd
sudo pip install tushare
sudo pip install sqlalchemy
sudo pip install Jinja2
sudo pip install matplotlib
sudo pip install utils
sudo pip install seaborn
Python库
- lxml 是一种使用 Python 编写的库,可以迅速、灵活地处理 XML。它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transformation (XSLT),并且实现了常见的 ElementTree API。
- TuShare是一个免费、开源的Python财经数据接口包;
- Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。
- NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。
- Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python3 哦!
- Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.
- xlrd是专门用来在Python中读取微软execel的模块.
- SQLAlchemy 是Python 社区最知名的 ORM 工具之一,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型。
- 前端模板引擎jinja2.
- MySQL的Python驱动程序mysql-connector-python.
- Matplotlib是一个Python的图形框架,类似于MATLAB和R语言。
- python高级绘图库seaboard.
使用mysql数据库命令
/usr/local/mysql/bin
mysql -uroot -p
显示当前mysql的所有数据库: show databases ;
打开一个数据库: use 数据库名;
显示数据库里的所有数据表: show tables ;
查询数据表: select * from 表名;
exit
创建一个Person表,四个字段分别为:自增主键id、姓名name、性别gender、年龄age
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(11) DEFAULT NULL,
`gender` varchar(11) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
INSERT INTO `person` VALUES ('1', '小明', '男', '18');
INSERT INTO `person` VALUES ('2', '小芳', '女', '19');
INSERT INTO `person` VALUES ('3', '小刚', '男', '20');
INSERT INTO `person` VALUES ('4', '小丽', '女', '21');
CREATE TABLE orders(
order_id INT PRIMARY KEY AUTO_INCREMENT,
order_no VARCHAR(20),
order_price FLOAT
);
INSERT INTO orders(order_no, order_price) VALUES('aaaa', 23);
INSERT INTO orders(order_no, order_price) VALUES('bbbb', 33);
INSERT INTO orders(order_no, order_price) VALUES('cccc', 22);
CREATE TABLE teacher(
t_id INT PRIMARY KEY AUTO_INCREMENT,
t_name VARCHAR(20)
);
CREATE TABLE class(
c_id INT PRIMARY KEY AUTO_INCREMENT,
c_name VARCHAR(20),
teacher_id INT
);
ALTER TABLE class ADD CONSTRAINT fk_teacher_id FOREIGN KEY (teacher_id) REFERENCES teacher(t_id);
INSERT INTO teacher(t_name) VALUES('teacher1');
INSERT INTO teacher(t_name) VALUES('teacher2');
INSERT INTO class(c_name, teacher_id) VALUES('class_a', 1);
INSERT INTO class(c_name, teacher_id) VALUES('class_b', 2);
CREATE TABLE student(
s_id INT PRIMARY KEY AUTO_INCREMENT,
s_name VARCHAR(20),
class_id INT
);
INSERT INTO student(s_name, class_id) VALUES('student_A', 1);
INSERT INTO student(s_name, class_id) VALUES('student_B', 1);
INSERT INTO student(s_name, class_id) VALUES('student_C', 1);
INSERT INTO student(s_name, class_id) VALUES('student_D', 2);
INSERT INTO student(s_name, class_id) VALUES('student_E', 2);
INSERT INTO student(s_name, class_id) VALUES('student_F', 2);
create table p_user(
id int primary key auto_increment,
name varchar(10),
sex char(2)
);
insert into p_user(name,sex) values('A',"男");
insert into p_user(name,sex) values('B',"女");
insert into p_user(name,sex) values('C',"男");
-- 创建存储过程(查询得到男性或女性的数量, 如果传入的是0就女性否则是男性)
DELIMITER $
CREATE PROCEDURE tdf_db.ges_user_count(IN sex_id INT, OUT user_count INT)
BEGIN
IF sex_id=0 THEN
SELECT COUNT(*) FROM tdf_db.p_user WHERE p_user.sex='女' INTO user_count;
ELSE
SELECT COUNT(*) FROM tdf_db.p_user WHERE p_user.sex='男' INTO user_count;
END IF;
END
$
-- 调用存储过程
DELIMITER ;
SET @user_count = 0;
CALL tdf_db.ges_user_count(1, @user_count);
SELECT @user_count;