一.python源码编译安装
#安装平台
(建议先在虚拟机上下载及安装成功后,再将软件拷贝到真机上)
Linux
-官网下载安装包
Python-3.6.6.tgz
-解压安装包
tar zxf Python-3.6.6.tgz
-安装编译过程需要的依赖性:gcc,zlib,zlib-devel,openssl-devel,readline,readline-devel
yum install gcc zlib zlib-bevel openssl-devel readline readline-devel -y
-进入目录后进入解压的安装包进行编译
./configure --prefix=/usr/local/python --with-ssl
-安装:
make && make install
软链接:
ln -s /usr/local/python/bin/python3.6 /usr/local/bin/
ln -s /usr/local/python/bin/pip3.6 /usr/local/bin/
#测试是否安装成功
python3.6
转移到真机操作:
scp -r /usr/local/python/ root@172.25.254.75:/usr/local/
#真机测试:
/usr/local/python/bin/python3.6
二.python注释
1,单行注释
#注释文字
2,多行注释/注释块
“”"
注释文字被六个双引号引起来
“”"
注意:pycharm中使用ctrl + / 可以把选中的文字注释,适用于块注释
三.输入和输出
正确格式:
input(‘Num:’)
Num:12
12
错误格式如下:
input(‘Num:’)
Num:a
Traceback (most recent call last):
File “”, line 1, in
File “”, line 1, in
NameError: name ‘a’ is not defined
不同版本输出输入如下:
raw_input(‘Num:’)
Num:12
‘12’raw_input(‘Num:’)
Num:a
‘a’
隐藏输入:
import getpass
num = getpass.getpass(‘输入密码:’)
输入密码:num
‘123456’
定义输入:
age = input(‘请输入年龄:’)
请输入年龄:18age
‘18’
类型为字符:
type(age)
<class ‘str’>
这里可以看到定义age为18,类型为字符,与19比较时会报错,只有将其转化为整型才能比较
age = input(‘请输入年龄:’)
请输入年龄:18age
‘18’type(age)
<class ‘str’>age > 19
Traceback (most recent call last):
File “”, line 1, in
TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’int(age)
18age > 19
Traceback (most recent call last):
File “”, line 1, in
TypeError: ‘>’ not supported between instances of ‘str’ and ‘int’int(age) > 19
False
四.格式化输出
整型和字符串
示例:
In [1]: name = 'westos'
In [2]: age = 11
In [3]: print('%s的年龄为%d' %(name,age))
westos的年龄为11
In [4]: name = 'redhat'
In [5]: print('%s的年龄为%d' %(name,age))
redhat的年龄为11
In [6]: age = '18' ##用单引号后,age定义为字符型,所以下面的%d会报错
In [7]: print('%s的年龄为%d' %(name,age))
------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-0fe41942b1ea> in <module>
----> 1 print('%s的年龄为%d' %(name,age))
TypeError: %d format: a number is required, not str
In [8]: print('%s的年龄为%s' %(name,age))
redhat的年龄为18
浮点型 %f
#浮点型 %f
In [9]: money = 8463.12312312
In [10]: print('%s本月的工资为%f' %(name,money))
redhat本月的工资为8463.123123
In [11]: money = 7000
In [12]: print('%s本月的工资为%f' %(name,money))
redhat本月的工资为7000.000000 ##默认小数点后为6位
In [13]: print('%s本月的工资为%.2f' %(name,money))
redhat本月的工资为7000.00 ##%.2f表示保留2位小数
In [14]: print('%s本月的工资为%.3f' %(name,money))
redhat本月的工资为7000.000 ##%3.f表示保留3位小数
整型 %d
In [15]: sid = 1
In [16]:
In [16]: print('%s的学号为130%d' %(name,sid))
redhat的学号为1301
In [17]: print('%s的学号为111%d' %(name,sid))
redhat的学号为1111
In [18]: print('%s的学号为0311300%d' %(name,sid))
redhat的学号为03113001
In [19]: print('%s的学号为0311300%.2d' %(name,sid))
redhat的学号为031130001 ##这里表示后面跟小数点后几位的输出
In [20]: print('%s的学号为0311300%.3d' %(name,sid))
redhat的学号为0311300001
百分比
In [21]: scale = 0.1
错误格式:
In [22]: print('数据的比例是 %.2f' %(scale * 100)) ##错误格式
数据的比例是 10.00
In [23]: print('数据的比例是 %.2f\%' %(scale * 100)) ##错误格式
------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-23-9156825aa3c9> in <module>
----> 1 print('数据的比例是 %.2f\%' %(scale * 100))
ValueError: incomplete format
In [24]: print('数据的比例是 %.2f%' %(scale * 100)) ##错误格式
------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-24-ff2d0203a538> in <module>
----> 1 print('数据的比例是 %.2f%' %(scale * 100))
ValueError: incomplete format
正确格式:
In [25]: print('数据的比例是 %.2f%%' %(scale * 100))
数据的比例是 10.00%
五.变量
见名知意
驼峰命名法:
1.大驼峰:每一个单词的首字母都大写
FirstName LastName
2.小驼峰:第一个单词以小写字母开始,后续单词的首字母大写
firstName lastName
#str:表示是一个字符串类型
#int:表示一个整型
#bool表示一个布尔型,真:Ture 假:False
#float表示一个小数类型,浮点数
六.pycharm配置
安装软件:从已知来源获取
从已知来源获取安装包 pycharm-community-2018.3.tar.gz
解压
tar zxf pycharm-community-2018.3.tar.gz
运行文件
cd pycharm-community-2018.3/
cd bin/
./pycharm.sh
注释:
“”"
#* coding:utf-8 *
Name:07_pycharm配置.py
Date:19-3-16
Author:westos-wsp
Connect:wsp439@sina.com
Desc:
“”"
- pycharm设置界面(ctrl + alt + s)
- 快速创建文件(alt + insert)
- 格式化python代码(ctrl + alt + l)
- 快速注释代码(ctrl + /)
- 快速复制代码(ctrl + d)
- 快速撤销代码(ctrl + z)
- 快速取消撤销代码(ctrl + shift + z)
- 快速删除代码(ctrl + x)
- 快速重命名(shift + f6)
七.if语句
if
"""
if 要判断的条件:
条件成立时,要做的事
"""
age = 18
if age >= 18:
print('你已经成年,欢迎进入网吧...')
print('~~~~~~~~~~~~~~~')
if else
age = 18
if age >= 18:
print('你已经成年,欢迎进入网吧...')
else:
print('你未满18岁,请回家写作业')
逻辑运算符
1.and
age = 120
"""
and
条件1 and 条件2
两个条件同时满足,就返回True
两个条件有一个不满足,就返回False
"""
if age >= 0 and age <=120:
print('年龄正确')
else:
print('年龄错误')
2.or
"""
or:
条件1 or 条件2
两个条件只要有一个满足,就返回True
两个条件都不满足,返回False
"""
python_score = 61
c_score = 30
if python_score > 60 or c_score > 60:
print('考试通过')
else:
print('准备补考')
3.if not
value = input('Value:')
if not value:
print('值为空')
if嵌套
1.elif
"""
if 要判断的条件:
条件成立时,要做的事情
elif 条件2:
...
else:
条件不成立时,要做的时请
elif和else都必须和if联合使用,不能单独使用
"""
holiday_name = '植树节'
if holiday_name == '情人节':
print('买礼物,买花,买包,买化妆品')
elif holiday_name == '愚人节':
print('吃饭')
else:
print('不过节')
2.if中套if
"""
if 条件1:
条件1满足执行的动作
if 满足条件1的基础上的条件2:
...
else:
条件2不满足的情况下
else:
条件1不满足时,执行的动作
"""
# have_ticket = True
have_ticket = False
# knife_length = 16
knife_length = 21
if have_ticket:
print('已有车票,请安检...')
if knife_length > 20:
print('长度为 %d:超出限定长度,禁止入内' %knife_length)
else:
print('长度为 %d:没有超过限定长度,允许入内' %knife_length)
else:
print('请先买票')