Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于
1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁
清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用
其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新
的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个
叫Monty Python的喜剧团体的爱好者。ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美
和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在
Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。
[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,shell)
python适应于短期开发,易读性强,开发速度快,运行速度相对慢,面向对象将要做的事情分配给其他人,是一种解决
问题的方式,重要的是分配给谁。
python的源程序就是.py结尾,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 执行内存中方的代码程序,程序要执行,首先要被加载到内存。
IPython是一个交互式计算系统。主要包含三个组件:增加的交互式 “Python shell”,解耦的双过程通信模型,交互式并行
计算的架构。支持变量自动补全。IPython 是一个 python 的交互式 shell,比默认的python shell好用得多,支持变量自动
补全,自动缩进,支持 bash shell命令,内置了许多很有用的功能和函数。IPython 是基于BSD 开源的。IPython 为交互式
计算提供了一个丰富的架构,包含:强大的交互式, shellJupyter 内核交互式的数据可视化工具灵活、可嵌入的解释器易于
使用,高性能的并行计算工具。
[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
行注释和块注释(多行注释)
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)
in ()
----> 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是python的IDE,IDE集成开发环境带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、
语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于
支持Django框架下的专业Web开发
[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的安装
更改代码大小:
在File->Settings->Editor->Font设置字体大小
更改控制台字体大小:
在File->Settings->Editor->Console Font设置控制台字体大小
添加代码注释:
在File->Settings->Editor->Code style设置代码所加的注释方便别人阅读
运行一个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
# 变量名只有在第一次出现的时候才是定义变量
# 变量名再次出现的时候,是直接使用之前定义的变量
在 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
# 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 函数实现键盘输入
在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类型的缩写