Python的安装

1.在官网下载源码安装包

这里下载的是python3.6

Linux下PySpark安装教程_python

2.解压安装包

tar zxf Python-3.6.6.tgz

Linux下PySpark安装教程_安装包_02

3.安装依赖包

所需的依赖包有: gcc,zlib,zlib-devel,openssl-devel,readline,readline-devel

yum install -y gcc zlib zlib-devel openssl-devel readline readline-devel

Linux下PySpark安装教程_Linux下PySpark安装教程_03

4.进入解压的安装包进行编译

./configure --prefix=/usr/local/python3.6 --with-ssl

Linux下PySpark安装教程_python_04

make && make install

Linux下PySpark安装教程_安装包_05

5.添加python3命令到系统环境变量里

方法1:

echo $PATH 			##临时添加
export PATH='python3命令所在的路径:$PATH'			##永久添加
echo export PATH='python3命令所在的路径:$PATH' >> ~/.bashrc				##重新读取配置文件:
source ~/.bashrc

方法2:

做软链接

ln -s /usr/local/python/bin/python3.6 /usr/local/bin/

Linux下PySpark安装教程_Linux下PySpark安装教程_06

6.测试是否安装成功

在命令行:

python3.6

Linux下PySpark安装教程_Linux下PySpark安装教程_07

Pycharm的安装

1.在官网下载安装包

这里下载的是pycharm-community-2018.3

Linux下PySpark安装教程_python_08

2.解压安装包

tar zxf pycharm-community-2018.3.tar.gz

Linux下PySpark安装教程_Linux下PySpark安装教程_09

3. 进入解压的安装包进行安装

cd pycharm-community-2018.3/bin/
./pycharm.sh

Linux下PySpark安装教程_python_10


注意:安装时最好使用普通用户安装,否则容易出现错误。

当pycharm无法输入汉语时

在pycharm安装包中,bin目录下的pycharm.sh文件中添加以下代码:

export GTK_IM_MODULE=ibus 
export QT_IM_MODULE=ibus 
export XMODIFIERS=@im=ibus

添加位置如图所示

Linux下PySpark安装教程_字符串_11


完成后即可输入中文。

Python的使用

01.注释

可以使用#来进行单行注释,
多行注释使用三个双信号,引号之间是注释。
示例:

# 这是注释
print('hello world')	# 注释2

print('你好')

"""
这是一个
多行注释

"""

Linux下PySpark安装教程_python_12

输入与输出

这里使用ipython

>>> input('Num:')
Num:12
12
>>> input('Num:')
Num:a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'a' is not defined
>>> 
>>> 
>>> raw_input('Num:')
Num:12
'12'
>>> raw_input('Num:')
Num:a
'a'
>>> help(input)
>>> import getpass		##导入
>>> num = getpass.getpass('输入密码:')		##导入后可使用
输入密码:				##没有回显
>>> num
'123456'
>>> 

>>> age = input('请输入年龄:')			##将输入的字符给age
请输入年龄:18
>>> age		##可以直接调出
'18'
>>> 
>>> type(age)		##查看类型
<class 'str'>			##类型为字符串
>>> 
>>> age > 19			##字符串无法比较大小
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
>>> 
>>> int(age)		##暂时将类型转换成整型
18
>>> age > 19		##age本身类型未改变
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'str' and 'int'
>>> int(age) > 19		##这样才能进行比较
False

格式化输出

###########整型和字符串
In [1]: name = 'tom'                                                 

In [2]: age = 11                                                        

In [3]: print('%s的年龄为%d' %(name,age))                               
tom的年龄为11

In [4]: name = 'marry'                                                 

In [5]: print('%s的年龄为%d' %(name,age))                               
marry的年龄为11

In [6]: age = '18'                                                      

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))                               
marry的年龄为18

###############浮点型 %f
In [9]: money = 8463.12312312                                           

In [10]: print('%s本月的工资为%f' %(name,money))                        
marry本月的工资为8463.123123

In [11]: money = 7000                                                   

In [12]: print('%s本月的工资为%f' %(name,money))                        
marry本月的工资为7000.000000

In [13]: print('%s本月的工资为%.2f' %(name,money))                      
marry本月的工资为7000.00

In [14]: print('%s本月的工资为%.3f' %(name,money))                      
marry本月的工资为7000.000

###############整型
In [15]: sid = 1                                                        

In [16]:                                                                

In [16]: print('%s的学号为130%d' %(name,sid))                           
marryt的学号为1301

In [17]: print('%s的学号为111%d' %(name,sid))                           
marry的学号为1111

In [18]: print('%s的学号为0311300%d' %(name,sid))                       
marry的学号为03113001

In [19]: print('%s的学号为0311300%.2d' %(name,sid))                     
marry的学号为031130001

In [20]: print('%s的学号为0311300%.3d' %(name,sid))                     
marry的学号为0311300001

#################百分比
In [21]: scale = 0.1                                                    

In [22]: print('数据的比例是 %.2f' %(scale * 100))                      
数据的比例是 10.00


In [25]: print('数据的比例是 %.2f%%' %(scale * 100))                    
数据的比例是 10.00%					##正确格式

变量

变量的命名要见名知意
驼峰命名法:
1.大驼峰:每一个单词的首字母都大写
FirstName LastName
2.小驼峰:第一个单词以小写字母开始,后续单词的首字母大写
firstName lastName

  • str:表示是一个字符串类型
  • int:表示一个整型
  • bool表示一个布尔型,真:Ture 假:False
  • float表示一个小数类型,浮点数

Pycharm的使用

可以在seting里设置为代码加上开头,保存一些必要信息,表明代码用途,作者信息等。

Linux下PySpark安装教程_python_13

快捷键:

  • pycharm设置界面(ctrl + alt + s)
  • 快速创建文件(alt + insert)
  • 格式化python代码(ctrl + alt + l)
  • 快速注释代码(ctrl + /)
  • 快速复制代码(ctrl + d)
  • 快速撤销代码(ctrl + z)
  • 快速取消撤销代码(ctrl + shift + z)
  • 快速删除代码(ctrl + x)
  • 快速重命名(shift + f6)

小测验

“”"

  • 输入学生姓名;
  • 依次输入学生的三门科目成绩;
  • 计算该学生的平均成绩,并打印;
  • 平均成绩保留一位小数;
  • 计算该学生语文成绩占总成绩的百分比,并打印
    “”"
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))

Linux下PySpark安装教程_python_14