第一篇: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
>>>
补充:
#!/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.
if [ -x /usr/bin/python-3.7./bin/python3 ]
then
exit
fi >>$install_logs
if [ -d ~/soft ]
then
cd ~/soft;
tar -zxvf Python-3.7..tgz;
if [ -d /usr/bin/python-3.7. ]
then
cd ~/soft/Python-3.7.;
./configure --prefix=/usr/bin/python-3.7.;
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./bin/ ]
then
source /usr/bin/python-3.7./bin/virtualenvwrapper.sh
source ~/.bash_profile
fi >>$install_logs
#end
echo `date` >>$install_logs
echo "############################END,SCRIPTS!##########################" >>$install_logs
python3.7.3+Virtualenvwrapper
echo -e "source /usr/bin/python-3.7.3/bin/virtualenvwrapper.sh" >> ~/.bash_profile
source ~/.bash_profile