一.python安装
安装平台
1)linux
- 官网下载源码安装包(python3.6)
- 解压安装包到/opt目录;
tar xf Python-3.6.4.tgz -C /opt/ ##建议下载目录
##-x 取出归档文件中的所有内容
##-f 指定归档文件名称
##-C 指定解档目录
- 安装编译过程中所需要的安装依赖包:gcc, zlib, zlib-devel, openssl-devel;(需要配置yum源,详见前文)
- 进入解压的的安装包进行编译;
./configure --prefix=/usr/local/python -with-ssl
### --prefix安装路径;with-ssl添加sll加密
cd /opt/Python3/
- 安装:make && make install
- 添加python3的命令到环境变量里面
#临时添加
export PATH="python3命令所在的所在路径:$PATH" 此机在/usr/local/python3/bin
#永久添加
echo export PATH="python3命令所在的所在路径:$PATH" >> ~/.bashrc
#重新读取配置文件:
source ~/.bashrc
2)Window
3)Mac
以上两者官网直接下载安装包按步骤安装即可
二.python代码编写
-交互环境
-文本环境
python的编码格式
python2:ASCII(1字节=8bit:一个英文字符占一个字节)
python3:Unicode(utf-8:如果是英文,一个字节存储;如果是中文,则用三个字节存储)
1.python打印
python2:
print"打印内容"
print"Hello Wolrd"
python3:
print("Hello Wolrd")
python2向python3过渡函数: from __future__ print_function
2.编译
1.)编写程序(vim)
vim hello.py
#!/usr/local/python3/bin/python3
#conding:utf8
context="Hello World,我是villa"
print(context)
2.)编译
1)python3 hello.py
2)./hello.py
3)复制到/bin/文件下
直接执行
例如: cp hello.py /bin/hello
hello
三.输入输出
1.输入
python2:
input:(只接受数值类型)
raw_input(接收字符串类型)
如果接收的值要进行比较时,一定要转化为同种类型比较
python3:
input:接收的为字符串数据类型,没有raw_input
2.输出:
%s:代表字符串,%d:整数 %f:浮点型
%.2f:保留小数点后两位
%.3d:整数型总占位数,不够的前面补0
四.数据类型
1.整形,1,4,5,67
2.长整形,481481298472184798
python2中有长整型
python3没有长整形
3.浮点型,1.2345,1200000000,12e+6,1.2e+8,1.2e-2
4.复数类型,2i+1
查看帮助:可以使用什么方法,实现什么功能
help(aComplex)
dir(aComplex)
数据类型转换:
在python中,所有的数据类型都可以作为内置函数,用来转换数据类型
>>> str(1)
'1'
>>> int(2e-10)
0
>>> complex(2)
(2+0j)
如何删除内存中的变量:
>>> aFloat
1.2e-09
>>> del aFloat
>>> aFloat
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'aFloat' is not defined
布尔数据类型:
bool:只有两个值(True,Fasle)
>>> bool(a)
True
>>> bool(0)
False
>>> bool(67)
True
>>> bool(67.768)
True
>>> name = "westos"
>>> bool(name)
True
>>> name = ""
>>> bool(name)
False
例题:
求平均成绩(python解释器)
输入学生姓名;
依次输入学生的三门科目成绩;
计算该学生的平均成绩,并打印;
平均成绩保留一位小数;计算该学生语文成绩总成绩的百分之多少?并打印
(代码在最后)
五.运算符
算术运算符
+,-,*,**,/,//(取整),%(取余)
python2中
>>> 5/2
2
>>> 100/300
0
>>> 5/2.0
2.5
>>> 100/300.0
0.3333333333333333
>>> from __future__ import divsion
File "<stdin>", line 1
SyntaxError: future feature divsion is not defined
>>> from __future__ import division
>>> 5/2
2.5
>>> 100/300
0.3333333333333333
python3中
>>> 5/2
2.5
>>> 100/300
0.3333333333333333
赋值运算符:=,+=,-=,*=,/=
关系运算符:>,>=,<,<=,!=,==
逻辑运算符:逻辑与and,逻辑或or,逻辑非not
相关例题:
判断闰年?
用户输入年份year,判断是否为闰年?
-year能被4整除但不能被100整除 或者 year能被400整除,那么就是闰年;
代码在最后
六.分支语句
1.if-else
if条件表达式:
满足条件表达式执行语句
esle:
不满足条件表达式执行语句
2.if-elif-else
if条件表达式:
满足条件1表达式执行语句
elif条件表达式:
满足条件2表达式执行语句
esle:
其他
例:判断学生等级
#!/usr/local/python3/bin/python3
score = int(input("请输入学生成绩:"))
if 90 <= score <= 100 :
grade = "A"
elif 70 <= score <90 :
grade = "B"
else :
grade = "C"
print("学生成绩为%s" %(grade))
3.python中if间接实现三目运算符 valuel1 if 条件 else value2
例:输入三个数,求一元二次方程组ax**2 + bx + c = 0的解;
import math
a = float(input("请输入2次项系数a"))
b = float(input("请输入1次项系数b"))
c = float(input("请输入常系数c"))
#1.判断是否为一元二次方程,如果不是,则退出
if a==0
print("a不能为0;")
exit()
#2.判断delta的值
deita = b**2-4*a*c
if deita > 0 :
x_1=(-b+math.sqrt(deita))/(2*a)
x_2=(-b-math.sqrt(deita))/(2*a)
print("该方程组存在两解分别为%.2f,%.2f" %(x_1,x_2))
elif deita==0 :
x = -b/(2*a)
print("该方程组存在一解为%.2f:" %(x))
else :
print("该方程组无解")
代码:
求平均成绩:
#!/usr/local/python3/bin/python3
name =input("学生姓名:")
chinese = float(input("语文成绩:"))
math = float(input("数学成绩:"))
english = float(input("英语成绩:"))
#求总成绩
sumScore = chinese + math + english
#求平均成绩
avgScore = sumScore / 3
#求百分比
chinesePercent = (chinese / sumScore)*100
print("%s的平均成绩位%.2f" %(name,avgScore))
print("语文成绩占总成绩的%.2f%%" %(chinesePercent))
判断是否为闰年:
year = int(input("Yeat:"))
if year % 4 == 0 and year % 100 !=0 or year % 400 == 0 :
print("%s是闰年" %year)
else :
print("%s不是闰年" %year)