基于python的入门学习 - Go语言中文社区

基于python的入门学习


什么是python?

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于
1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁
清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用
其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

python的发展历程以及标识:

Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新
的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个
叫Monty Python的喜剧团体的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美
和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在
Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。

这里写图片描述
简单的python练习:

[kiosk@foundation84 mnt]$ python   直接输入python进入交互式界面
Python 2.7.5 (default, Feb 11 2014, 07:46:25) 
[GCC 4.8.2 20140120 (Red Hat 4.8.2-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 1 + 2
3
>>> 2 ** 3   可以进行计算
8
>>> print 'hello xfl'   可以打印''里面的内容,缺点就是没办法保存
hello xfl
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit    两种退出方式
>>> exit()

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py
[root@foundation84 kiosk]# python xfl.py 
hello python
[root@foundation84 kiosk]# vim xfl.py

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py 
[root@foundation84 kiosk]# cat xfl.py    python2.几版本不支持中文会报错
#print 是打印""内容到屏幕上
print "hello python"
[root@foundation84 kiosk]# python xfl.py 
  File "xfl.py", line 1
SyntaxError: Non-ASCII character 'xe6' in file xfl.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py 
[root@foundation84 kiosk]# cat xfl.py    加进去中文声明才可以正确解读中文
# _*_ coding:utf-8 _*_

#print 是打印""内容到屏幕上
print "hello python"
[root@foundation84 kiosk]# python xfl.py 
hello python

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py 
[root@foundation84 kiosk]# cat xfl.py 
# _*_ coding:utf-8 _*_

#print 是打印""内容到屏幕上
print "hello python"
	print "hello xfl"
[root@foundation84 kiosk]# python xfl.py  不应该出现的缩进也会报错
  File "xfl.py", line 5
    print "hello xfl"
    ^
IndentationError: unexpected indent

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py 
[root@foundation84 kiosk]# cat xfl.py 
# _*_ coding:utf-8 _*_

#print 是打印""内容到屏幕上
print "hello python"print "hello xfl"
[root@foundation84 kiosk]# python xfl.py  两行内容输入到一行会报错
  File "xfl.py", line 4
    print "hello python"print "hello xfl"
                            ^
SyntaxError: invalid syntax

这里写图片描述

[root@foundation84 kiosk]# vim xfl.py 
[root@foundation84 kiosk]# cat xfl.py 
# _*_ coding:utf-8 _*_

#print 是打印""内容到屏幕上
print "hello python"
print "hello xfl"
[root@foundation84 kiosk]# python xfl.py 
hello python
hello xfl

这里写图片描述

[root@foundation84 mnt]# which python
/bin/python
[root@foundation84 mnt]# ls -lh /bin/python
lrwxrwxrwx. 1 root root 7 Apr 28 18:30 /bin/python -> python2
[root@foundation84 mnt]# ls -lh /bin/python2
lrwxrwxrwx. 1 root root 9 Apr 28 18:30 /bin/python2 -> python2.7   
软链接的作用就是在不知道python版本的情况下直接打开python交互式界面
[root@foundation84 mnt]# ls -lh /bin/python2.7
-rwxr-xr-x. 1 root root 7.0K Feb 11  2014 /bin/python2.7

python代码实现的过程:

编译性语言:速度快,跨平台性差
解释性语言:速度慢,跨平台性好(python,shell)
python适应于短期开发,易读性强,开发速度快,运行速度相对慢,面向对象将要做的事情分配给其他人,是一种解决
问题的方式,重要的是分配给谁。
python的源程序就是.py结尾,python统一缩进,没有;号

这里写图片描述
python程序是如何执行的?

计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
1.cpu(cpu 就是干活的,离开了 cpu 电脑就不能干活)
中央处理器,是一块超大规模的集成电路
负责处理数据/计算
2.内存(临时存储数据 以 G 为单位 4G 8G 16G 32G)
临时存储数据(断电之后,数据会消失)
速度快
空间小(单位价格高)
3.硬盘(永久存储数据 以 T 为单位 1T=1024G)
永久存储数据
速度慢
空间大(单位价格低)
思考题:
1.计算机中哪一个硬件设备负责执行程序?
CPU
2.内存的速度快还是硬盘的速度快?
内存
3.我们的程序是安装在内存中的,还是安装在硬盘中的?
硬盘
4.我买了一个内存条,有 500G 空间,这句话对麼?
不对,内存条通常只有 4G/8G/16G/32G
5.计算机关机之后,内存中的数据都会消失麼?
是的
程序执行的原理
1.程序运行之前,程序是保存在硬盘中的
2.当要运行一个程序的时候,操作系统会首先让 CPU 把程序复制到内存中,
CPU 执行内存中方的代码程序,程序要执行,首先要被加载到内存。

这里写图片描述
这里写图片描述
安装常用的python解释器:

什么是ipython:

IPython是一个交互式计算系统。主要包含三个组件:增加的交互式 “Python shell”,解耦的双过程通信模型,交互式并行
计算的架构。支持变量自动补全。IPython 是一个 python 的交互式 shell,比默认的python shell好用得多,支持变量自动
补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数。IPython 是基于BSD 开源的。IPython 为交互式
计算提供了一个丰富的架构,包含:强大的交互式, shellJupyter 内核交互式的数据可视化工具灵活、可嵌入的解释器易于
使用,高性能的并行计算工具。

ipython的安装:

[kiosk@foundation84 Desktop]$ su
Password: 
[root@foundation84 Desktop]# 
[root@foundation84 Desktop]# ls
3.jpg              Discuz_X3.2_SC_UTF8.zip                 python第一天
59f01d9c531b7.jpg  phpMyAdmin-3.4.0-all-languages.tar.bz2  考试博客
[root@foundation84 Desktop]# cd python第一天/
[root@foundation84 python第一天]# ls
ipython                            PycharmProjects  变量.pdf    变量的命名.pdf
pycharm-community-2016.3.2.tar.gz  python           变量的命名  截图
[root@foundation84 python第一天]# cd ipython/    自己下载的ipython安装包
[root@foundation84 ipython]# ls
openpgm-5.2.122-2.el7.x86_64.rpm
python-ipython-3.2.1-1.el7.noarch.rpm
python-ipython-console-3.2.1-1.el7.noarch.rpm
python-ipython-gui-3.2.1-1.el7.noarch.rpm
python-jsonschema-2.3.0-1.el7.noarch.rpm
python-mistune-0.5.1-1.el7.x86_64.rpm
python-path-5.2-1.el7.noarch.rpm
python-pip-7.1.0-1.el7.noarch.rpm
python-pygments-1.4-9.el7.noarch.rpm
python-simplegeneric-0.8-7.el7.noarch.rpm
python-zmq-14.3.1-1.el7.x86_64.rpm
zeromq3-3.2.5-1.el7.x86_64.rpm
[root@foundation84 ipython]# yum install * -y   安装ipython
[root@foundation84 ipython]# ipython  打开ipython的交互式界面
Python 2.7.5 (default, Feb 11 2014, 07:46:25) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: exit()   两种退出方式还有一种是ctrl+D
[root@foundation38 kiosk]# ipython 退出方式2
Python 2.7.5 (default, Aug  2 2016, 04:20:16) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: 
Do you really want to exit ([y]/n)? y   按组合键ctrl+D

这里写图片描述
ipython的简单使用:

行注释和块注释(多行注释)
python单行注释#和文字中间加空格
程序是用来处理数据的,在程序的内部,为用户密码开辟的空间叫做变量
变量必须先定义再使用:
[root@foundation84 kiosk]# ipython   打开ipython交互界面
Python 2.7.5 (default, Aug  2 2016, 04:20:16) 
Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: name = 1   定义变量
In [2]: name   不需要print可以直接调用变量名字
Out[2]: 1
exit()退出
In [3]: exit()

这里写图片描述

In [1]: name='薛飞龙'

In [2]: type(name)   字符串类型,type内置函数作用就是查看类型
Out[2]: str

In [3]: age = 18

In [4]: type(age)   整型
Out[4]: int

In [5]: gender=True

In [6]: type(gender)  布尔类型
Out[6]: bool

In [7]: height=1.8

In [8]: type(height)   浮点型
Out[8]: float

In [9]: type(2**32)
Out[9]: int
In [10]: type(2**64)  长整型,整型的一种分类
Out[10]: long

这里写图片描述

In [11]: i=10   不同类型之间可以进行计算

In [12]: f=10.5

In [13]: b=True

In [14]: i*f
Out[14]: 105.0

In [15]: f/i
Out[15]: 1.05

In [16]: i+f
Out[16]: 20.5

In [17]: f - b   布尔类型True代表1False代表0
Out[17]: 9.5

In [18]: a='xuefeilong'

In [19]: b='18sui'

In [20]: a + b   字符串的拼接
Out[20]: 'xuefeilong18sui'

In [21]: a*10  多次打印字符串
Out[21]: 'xuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilongxuefeilong'

In [22]: (a + b)*2
Out[22]: 'xuefeilong18suixuefeilong18sui'

这里写图片描述

In [23]: a + 10  字符串类型与整型不可以直接相加进行计算,需要进行类型转换
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-23-2c64baa9fdb5> in <module>()
----> 1 a + 10

TypeError: cannot concatenate 'str' and 'int' objects

In [24]: raw_input('please input a number')  交互式输入
please input a number123
Out[24]: '123'

In [25]: cc=raw_input('please input a number: ')    raw_input类型均为字符串类型,不可以乘法运算
please input a number: 134

In [26]: cc
Out[26]: '134'

In [27]: type(cc)
Out[27]: str

In [28]: age=raw_input('please input a number: ')   需要作乘法运算需要转换类型
please input a number: 18

In [29]: age
Out[29]: '18'

In [30]: type(age)
Out[30]: str

这里写图片描述
什么是pycharm:

pycharm是python的IDE,IDE集成开发环境带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、
语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于
支持Django框架下的专业Web开发

安装pycharm:

[kiosk@foundation84 ~]$ cd /home/kiosk/Desktop/
[kiosk@foundation84 Desktop]$ ls
3.jpg              Discuz_X3.2_SC_UTF8.zip                 考试博客
59f01d9c531b7.jpg  phpMyAdmin-3.4.0-all-languages.tar.bz2
aa~                python第一天
[kiosk@foundation84 Desktop]$ cd python第一天/   自己下载的压缩包
[kiosk@foundation84 python第一天]$ ls
ipython                            PycharmProjects  变量的命名
pycharm-community-2016.3.2         python           变量的命名.pdf
pycharm-community-2016.3.2.tar.gz  变量.pdf         截图
[kiosk@foundation84 python第一天]$ cd pycharm-community-2016.3.2/   已经解压成功
[kiosk@foundation84 pycharm-community-2016.3.2]$ ls
bin        help     Install-Linux-tar.txt  lib      plugins
build.txt  helpers  jre                    license
[kiosk@foundation84 pycharm-community-2016.3.2]$ cd bin/    进入到bin目录下
[kiosk@foundation84 bin]$ ls
format.sh       idea.properties  pycharm64.vmoptions  restart.py
fsnotifier      inspect.sh       pycharm.png
fsnotifier64    log.xml          pycharm.sh
fsnotifier-arm  printenv.py      pycharm.vmoptions
[kiosk@foundation84 bin]$ sh pycharm.sh   调用脚本打开pycharm的安装

这里写图片描述
详细的安装过程:

询问是否从别的版本拷贝设置:
这里写图片描述
询问是否同意协议:
这里写图片描述
默认即可:
这里写图片描述
pycharm已经安装好了,接下来创建工程:
这里写图片描述
pycharm的一些友好提示:
这里写图片描述
创建一个工程:
这里写图片描述
点击创建的工程右键New->python file建立python文件
这里写图片描述
创建python文件成功:
这里写图片描述
pycharm的常规配置:

更改代码大小:
在File->Settings->Editor->Font设置字体大小

这里写图片描述

更改控制台字体大小:
在File->Settings->Editor->Console Font设置控制台字体大小

这里写图片描述

添加代码注释:
在File->Settings->Editor->Code style设置代码所加的注释方便别人阅读

这里写图片描述
更改成功之后打开一个新的python file就可以看到我们的设置
这里写图片描述
pycharm的简单练习:

运行一个python file文件就是点击文件鼠标右键可以看到Run运行即可

print 'hello xfl'

这里写图片描述
给代码加入注释:

# 这是一个单行注释
print 'hello python'
# 注释1
# 注释2
这是一个多行注释/块注释
"""
print 'have a nice day!'
"""
什么时候需要使用注释?
1.注释不是越多越好,对于一目了然的代码,不需要添加注释
2.对于复杂的操作,应该在操作开始前写上若干注释
3.对于不是一目了然的代码,应该在行尾添加注释
(为了增加代码可读性。注释应该与代码保持至少两个空格)
4.绝对不要描述代码
"""

代码的规范性:

#与注释内容之间至少保证一个空格。

这里写图片描述
断点的设置:

设置断点是针对于一些复杂的代码,我们可以用设置断点来排错

这里写图片描述
变量的定义与输出:

变量:
什么是变量?
#变量名只有在第一次出现才是定义变量(变量名再次出现,不是定义变量,而是直接使用之前定义的变量)
变量的定义:
在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
等号(=)用来给变量赋值
=左边是一个变量名,=右边是存储在变量中的值
变量名 = 值  #变量定义之后,后续就可以直接使用了
# 1.定义一个变量记录QQ号码
qq_number = '123456'
# 2.定义一个变量记录QQ密码
qq_passwd = '6789'

# 注意:在使用python解释器执行python程序的时候
# 不能直接输入变量名,要输出变量内容,使用print
print qq_number
print qq_passwd 

这里写图片描述
变量的重复使用:

水果的价格是8.5/斤,买了7.5斤的水果,计算付款金额。

# 1.定义水果的价格
price = 8.5
# 2.挑选水果
weight = 7.5
# 3.计算付款金额
money = price * weight
money = money - 5
print money
# 变量名只有在第一次出现的时候才是定义变量
# 变量名再次出现的时候,是直接使用之前定义的变量

可以通过设置断点然后使用Debug的方式来查看变量再次使用的时候的情况
这里写图片描述
变量的类型:

在 python 中定义变量是不需要指定类型(在其他很多高级语言中都需要)
数据类新可以分为数字型和非数字型
	数字型:
	整型(int)
	浮点型(float)
	布尔型(bool)
真 True 非 0 数 --- 非 0 即真
非数字型:
	字符串
	列表
	元组
	字典
使用 type 函数可以查看一个变量的类型:

如果变量是 bool 型,在计算时
	True 对应的数字是 1
	False 对应的数字是 0
字符串变量之间使用 + 拼接字符串
在 python 中
字符串之间可以使用 + 拼接生成新的字符串,字符串变量可以和整数使用 * 重复拼接相同的字符串
字符串变量和字符串之间不能进行其他计算
# str表示是一个字符串类型
name = '薛飞龙'
print name
# int表示是一个整型
age = 18
print age
weight = 135
print weight
# bool表示是一个布尔类型
gender = True
print gender
# float表示是一个浮点型
height = 1.35
print height

依旧可以通过设置断点然后使用Debug的方式来查看具体的类型
这里写图片描述
raw_input交互式调用变量:

# 1.输入水果的单价
price_str = raw_input('水果的单价为:')
# 2.输入水果的重量
weight_str = raw_input('水果的重量为:')
price = float(price_str)     类型转换,raw_input输出为字符串类型不可以直接相乘
weight = float(weight_str)
# 3.计算付款金额
money = price * weight
print money
# 注意:两个字符串之间是不能直接用乘法的,需要进行类型转换

这里写图片描述
raw_input交互式调用变量修改版:

所谓输入,就是用代码获取用户通过键盘输入的信息
关于函数:
一个提前准备好的功能(别人或者自己写的代码),可以直接使用,而不用关心细节
raw_input 函数实现键盘输入
在python中可以使用 raw_input 函数从键盘等待用户的输入
用户输入的任何内容 python 都认为是一个字符串
# 1.输入水果的单价
price = float(raw_input('水果的单价为:'))
# 2.输入水果的重量
weight = float(raw_input('水果的重量为:'))
#price = float(price_str)
#weight = float(weight_str)
# 3.计算付款金额
money = price * weight
print money
# 1.节约了空间,只需要为变量分配空间
# 2.起名字方便,不需要为中间变量起名字

这里写图片描述
格式化输出:

在 python 中可以使用 print 函数将信息输出到控制台如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符。

% 被称为格式化操作符,专门用于处理字符串中的格式包含%的字符串,被称为格式化字符串
% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符
%s	字符串
%d 	有符号十进制整数,%06d 表示输出的整数显示位数字,不足的地方使用0补齐
%f 	浮点数,%.02f 表示小数点后只显示两位
%%	输出%
%%f 	浮点数,%.02f 表示小数点后只显示两位
语法格式:
print '格式化字符串' % 变量 1
print '格式化字符串' % (变量 1,变量 2...)
#1.定义一个字符串常量 name
#输出:我的名字叫薛飞龙,情多多关照
name = '薛飞龙'
#%s:字符串
print '我的名字叫%s,请多多关照' % name

#2.定义一个整形变量 student_num
#输出:我的学号是:000001
student_num = 6
#%06d:表示不到六位就用0补齐
print '我的学号是%06d' % student_num

#3.定义小数 price weight money
#输出:输出水果的单价是 购买了多少斤 总价是多少
price = 3.8
weight = 4.3
money = price * weight
#%f:浮点数 %.2f:保留两位小数
# print '水果的单价是%.2f' % price
# print '水果的重量是%.2f' % weight
# print '支付的总价是%.2f' % money
print '水果的单价是%.2f,水果的重量是%.2f,支付的总价是%.2f'
      %(price,weight,money)
#4.定义一个小数
#输出:数据比例是10.00%
scale = 0.5
#print '数据比例是%.2f%%' % scale * 100
print '数据比例是%.2f%%' %(scale * 100)

这里写图片描述
标示符和关键字:

标识符:
标识符就是程序员定义的变量名,函数名,名字需要有见名知义的效果,
标识符可以由字母,下划线和数字组成,不能以数字开头,不能与关键字重名。
关键字:
关键字就是在python内部已经使用的标识符,关键字具有特殊的功能和含义
开发者不允许定义和关键字相同的名字的标示符。
通过以下命令可以查看python中的关键字
#import关键字可以导入一个工具包
#在python中不同的工具包,提供有不同的工具
In [12]: import keyword
In [13]: print keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

这里写图片描述
变量的命名规则

命名规则可以被视为一种惯例,别无绝对与强制,目的是为了增加代码的识别和可读性。
#注意:python中的标识符是区分大小写的
1.在定义变量时,为了保证代码格式, = 的左右两边该各保留一个空格
2.在python中,如果变量名需要由两个或多个单词组成,可以按照以下方式命名(python中常用)
	1.每个单词都使用小写字母
	2.单词与单词之间使用_下划线连接
	3.例如:first_name,last_name....
驼峰命名法:(其他语言常用的命名法)
当变量名是由两个或多个单词组成,还可以利用驼峰命令法来命名
小驼峰命名法
	第一个单词以小写字母开始,后续单词的首字母大写
	firstName lastName
大驼峰命名法
	每一个单词的首字母都采用大写字母
	FirstName LastName
匈牙利命名法:
	开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
	int iMyAge;"i"是int类型的缩写
	char cMyName[10];"c"是char类型的缩写
	float fManHeight;"f"是float类型的缩写
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/aaaaaab_/article/details/80956824
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢