Python之路,第一篇:Python入门与基础
第一篇:Python入门与基础
1,什么是python?
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
2,python的特征:
(1)易于学习,易于利用;
(2)开发效率高,内建众多数据类型,强大的标准库支持;
(3)高级语言;
(4)可移植性,基于开放源代码特性
(5)可扩展性,如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
(6)可嵌入,你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
3,python的安装:
(1)Windows安装:
(1)下载安装包
- 右键点击"计算机",然后点击"属性"
- 然后点击"高级系统设置"
- 选择"系统变量"窗口下面的"Path",双击即可;
- 然后在"Path"行,添加python安装路径即可。
(2)Linux 安装:
(1)下载安装包(系统可能自带python2.7根据需求安装)
浏览器访问https://www.python.org/downloads/source/
(2)安装软件包依赖
#yum groupinstall "Development tools"
#yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
(3)安装python3.X
#tar -zxvf Pythonxxx
#cd Pythonxxxx
#./configure --prefix=/usr/bin/python3.X
#make && make install
(3)在bash linux 输入环境变量:
#vi .bash_profile
export PATH=$PATH:/usr/bin/python3.X/bin
#source .bash_profile
4 , 第一个python程序
(1)查看python 版本
进入python交互模式 Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information.
(2)开始第一个“hello world!”程序
#!/usr/bin/python3 print("hello world !") ###运行结果### # hello world !
(3)基本规则:
语句,注释,最大80行,通常以py结尾的扩展名。
(4)python程序的组成
程序由模块组成;
模块由语句、函数、类组成;
语句包含表达式;
5,python数字与算数表达式
python数字
python核心数字类型与内置对象
数字类型:
(1)整型(int)和浮点型(float)
数字常量的表示方法:整数int
二进制:(以0B开头)
八进制:(以0o开头, 格式0obb)
十进制:3.0 、 3.14
十六进制:(以0x开头,列子:0x1A、 0x1a2b3c)
浮点数表示方法两种:
A,小数:3.0
B,科学计数法:(格式: 小数 e/E + 十的n次幂)
>>> type(10) <class 'int'> #整数 >>> type(20.3) <class 'float'> #浮点数
>>> 6.18E-1
0.618 #科学计数法:
(2)复数(complex)
>>> type(2+3.8j) <class 'complex'> >>> type(2.3j) <class 'complex'> >>> type(0+3.5j) <class 'complex'> #复数格式: a + bj (a是实部, b是虚部,其中a可以是0,可以省略。)以J或j结尾
(3)布尔值bool 和 空值 None
布尔值由真(成立)和假(不成立)两种:
True 的值是1
False 的值是0
空值是特殊的常量,不表示任何类型。
作用:通常用来绑定占位符,变了解除绑定
说明:空值和任何类其他类型的对象永远返回的是False。
算数表达式
概念:表达式由一个数字(或对象)或数字和运算符组成用来表示;表达式通常用来让计算机做一些事情并且返回结果的方法。
算数运算符:
+ 加法 、 - 减法、 * 乘法、 / 除法、 % 求余(取模)、 // 地板除(floordiv) 、 ** 幂运算
>>> 2+2 4 >>> 3-2 1 >>> 3*2 6 >>> 3/2 1.5 #除不会丢小数点位 >>> 5//2 2 >>> 5/2 2.5 >>> -5//2 -3 >>> 5/3 1.6666666666666667 >>> -5//3 -2 #地板除的作用: 除的结果去掉小数部分,向下取整。
>>> 7%3
1 #求余
>>> -5 % 3
1
>>> (-6 + 1) % 3
1
>>> -9%3
0
>>> -9%4
3
>>> (-12 + 3)%4
3
>>> 9%4
1
#x%y 求余得【0,y】之间的数
运算符的优先级
从高到低: ** 、 * / // % (同一优先级由左向右运算)、 + -
用括号将表达式分组, 先算()内的;
6,变量
概念:变量是关联一个对象的符号(标识符)。
变量名的命名方法:
变量名由字母或下划线开头,后面跟字母或者下划线或数字;
不能使用python关键字
说明: 变量区分大小写
合法的变量名
a 、 bb1 、 _a 、 _1a 、 __aaa_
不合法的变量名
1a 、 123 、 $a 、 #a 、-b
python关键字
True , False , None , del ,if 、 else等等
赋值运算符( = )
格式: 变量名=表达式
作用:1,当没有变量时,创建一个变量,同时将这个变量绑定到对象上
2,当变量存在时,改变此变量关联的对象;
3,用变量访问关联的对象;
>>> pi = 3.14 >>> pi * 3 *2 18.84 >>> pi 3.14 >>> pi = 10
>>> a = 1 + 2 #a绑定的是1 + 2 ,而不是 3.
>>> a
3
>>> b = a
>>> b
3
>>> a= None #赋值是None 对象时,1+2 对象则被释放。
>>> a
python中的关联、绑定和引用的关系: 都是指变量和一个对象的关联关系;
序列赋值语法:
变量名1,变量名2 。。。 = 对象1, 对象2。。。
变量名1,变量名2 。。。 = 对象1, 对象2。。。
变量名1,变量名2 。。。 = 对象1, 对象2。。。
>>> a = 10 >>> b = 20 #方法1 >>> print(a,b) 10 20 >>> a,b = 11,21 #方法2 >>> print(a,b) 11 21
>>> a,b = b,a #方法3
>>> print(a,b)
21 11
7,is运算符
is作用:两个变量是否绑定同一个对象,当绑定同一个对象时,返回True, 否则返回False。
is not 作用: 与is相反
语法: x is y ; x is not y
>>> a=100 >>> b=200
>>> id(a)
1435962928
>>> id(b)
1435966128 >>> a is b False >>> a is not b True >>> b = a >>> b 100
>>> id(a)
1435962928
>>> id(b)
1435962928 >>> a is b True >>> a is not b False >>>
8,del 语句
作用:用于删除变量,同时解除与对象的关系;如果可能则释入对象;
语法格式:
del 变量名1 变量名2 。。。。
>>> a = 10 >>> b = 10 >>> del a ,b >>> a Traceback (most recent call last): File "<pyshell#105>", line 1, in <module> a NameError: name 'a' is not defined >>> b Traceback (most recent call last): File "<pyshell#106>", line 1, in <module> b NameError: name 'b' is not defined >>>
9, help 函数
在交互模式下,查看当前作用域所有变量
help()函数
例子:help(__main__)
退出‘q’;
>>> help("__main__") Help on module __main__: NAME __main__ DATA p1 = 10 p2 = 10 pi = 10 FIL >>> p1 10 >>> del p1 >>> help("__main__") Help on module __main__: NAME __main__ DATA p2 = 10 pi = 10
>>>
补充1:
#!/bin/bash install_logs="/tmp/python_logs.log" # echo `date` >>$install_logs echo "#########################start scripts############################" >>$install_logs #install soft yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y >>$install_logs #install python3.7.3 mkdir -p /usr/bin/python-3.7.3 if [ -x /usr/bin/python-3.7.3/bin/python3 ] then exit 1 fi >>$install_logs if [ -d ~/soft ] then cd ~/soft; tar -zxvf Python-3.7.3.tgz; if [ -d /usr/bin/python-3.7.3 ] then cd ~/soft/Python-3.7.3; ./configure --prefix=/usr/bin/python-3.7.3; make && make install fi fi >>$install_logs #env echo -e "export PATH=$PATH:/usr/bin/python-3.7.3/bin" >> ~/.bash_profile #install virtualenvwrapper source ~/.bash_profile pip3 install virtualenvwrapper >>$install_logs mkdir ~/my_env if [ -d ~/my_env ] then echo -e "export WORKON_HOME=~/my_env" >> ~/.bash_profile; echo -e "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python-3.7.3/bin/python3" >> ~/.bash_profile fi >>$install_logs #source source ~/.bash_profile if [ -d /usr/bin/python-3.7.3/bin/ ] then source /usr/bin/python-3.7.3/bin/virtualenvwrapper.sh source ~/.bash_profile fi >>$install_logs #end echo `date` >>$install_logs echo "############################END,SCRIPTS!##########################" >>$install_logs
echo -e "source /usr/bin/python-3.7.3/bin/virtualenvwrapper.sh" >> ~/.bash_profile
source ~/.bash_profile
补充2
使用 pip 导出导入依赖包命令如下:
使用 pip freeze 命令导出依赖包 #pip freeze > requirements.txt
如何使用生成的 requirements.txt 文件 #pip install -r requirements.txt