Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。

第一个Python程序:

交互模式编程:

调用解释器不经过脚本文件作为参数,显示以下提示:

$ python

Python 2.6.4 (#1, Nov 11 2014, 13:34:43)

[GCC 4.1.2 20120704 (Red Hat 5.6.2-48)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>>

键入下列文字在Python提示符,然后按Enter键:

>>> print "Hello, Python!";

如果您运行的是新的Python版本,那么需要使用打印语句括号像print ("Hello, Python!");。但是在Python版本2.6.4,这将产生以下结果:

Hello, Python!

脚本模式编程:

调用解释器及脚本作为参数,并开始执行的脚本,并一直持续到脚本完成。当脚本完成时,解释器不再是活动的。

让我们在脚本中编写一个简单的Python程序。所有的Python文件将具有.py扩展。所以,把下面的代码写在一个test.py文件。

print "Hello, Python!";

在这里,我假设你已经在PATH变量中设置Python解释器。现在,尝试如下运行这个程序:

$ python test.py

这将产生以下结果:

Hello, Python!

让我们尝试另一种方式来执行Python脚本。下面是修改后的test.py文件:

#!/usr/bin/python

print "Hello, Python!";

在这里,假设Python解释器在/usr/bin目录中可用。现在,尝试如下运行这个程序:

$ chmod +x test.py # This is to make file executable

$./test.py

这将产生以下结果:

Hello, Python!

Python标识符:

Python标识符是用来标识一个变量,函数,类,模块或其他对象的名称。一个标识符开始以字母A到Z或a〜z或后跟零个或多个字母下划线(_),下划线和数字(0〜9)。

Python中标识符内不允许标点符号,如@,$和%。 Python是一种区分大小写的编程语言。因此,Manpower 和manpower在Python中是两个不同的标识符。

这里有Python标识符命名约定:

• 类名以大写字母以及所有其它标识符以小写字母。

• 开头单个前导下划线的标识符表示由该标识符约定意思是私有的。

• 开头两个前导下划线的标识符表示一个强烈的私有的标识符。

• 如果标识符末尾还具有两个下划线结束时,该标识符是一个语言定义的特殊名称。

保留字:

下面列出了在Python中的保留字。这些保留字不可以被用作常量或变量,或任何其它标识符。所有Python关键字只包含小写字母。

and

exec

not

assert

finally

or

break

for

pass

class

from

print

continue

global

raise

def

if

return

del

import

try

elif

in

while

else

is

with

except

lambda

yield

行和缩进:

一个程序员学习Python时,遇到的第一个需要注意的地方是,不使用括号来表示代码的类和函数定义块或流程控制。代码块是由行缩进,这是严格执行表示方式。

在缩进位的数目是可变的,但是在块中的所有语句必须缩进相同的量。在这个例子中,两个功能块都很好使用:

if True:

print "True"

else:

print "False"

然而,在本实施例中的第二块将产生一个错误:

if True:

print "Answer"

print "True"

else:

print "Answer"

print "False"

因此,在Python中所有的连续线缩进的空格数同样的会结成块。以下是各种语句块中的例子:

注意:不要试图理解所使用的逻辑或不同的功能。只要确定你明白,即使他们各种模块无需括号。

#!/usr/bin/python

import sys

try:

# open file stream

file = open(file_name, "w")

except IOError:

print "There was an error writing to", file_name

sys.exit()

print "Enter '", file_finish,

print "' When finished"

while file_text != file_finish:

file_text = raw_input("Enter text: ")

if file_text == file_finish:

# close the file

file.close

break

file.write(file_text)

file.write("

")

file.close()

file_name = raw_input("Enter filename: ")

if len(file_name) == 0:

print "Next time please enter something"

sys.exit()

try:

file = open(file_name, "r")

except IOError:

print "There was an error reading file"

sys.exit()

file_text = file.read()

file.close()

print file_text

多行语句:

Python语句通常用一个新行结束。 但是,Python允许使用续行字符()来表示,该行应该继续下去(跨行)。例如:

total = item_one +

item_two +

item_three

包含在[],{}或()括号内的陈述并不需要使用续行符。例如:

days = ['Monday', 'Tuesday', 'Wednesday',

'Thursday', 'Friday']

Python引号:

Python接受单引号('),双引号(")和三(''或”"”)引用,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。

三重引号可以用于跨越多个行的字符串。例如,所有下列是合法的:

word = 'word'

sentence = "This is a sentence."

paragraph = """This is a paragraph. It is

made up of multiple lines and sentences."""

Python注释:

一个井号(#),这不是一个字符串文字开头的注释。"#”号之后字符和到物理行是注释的一部分,Python解释器会忽略它们。

#!/usr/bin/python

# First comment

print "Hello, Python!"; # second comment

这将产生以下结果:

Hello, Python!

注释可能会在声明中表达或同一行之后:

name = "Madisetti" # This is again comment

你可以使用多行注释如下:

# This is a comment.

# This is a comment, too.

# This is a comment, too.

# I said that already.

使用空行:

一行只含有空格,可能带有注释,如果是空行那么Python完全忽略它。

在交互式解释器会话中,必须输入一个空的物理行终止多行语句。

等待用户:

程序的下面一行显示的提示,按回车键退出,等待用户按下回车键:

#!/usr/bin/python

raw_input("Press the enter key to exit.")

在这里," 已”被用来显示实际行之前创建两个换行。一旦用户按下键时,程序结束。这是一个很好的技巧,保持一个控制台窗口打开,直到用户完成应用程序运行。

在一行中多个语句:

分号( ; ) 允许在单行写入多条语句,不管语句是否启动一个新的代码块。下面是使用分号示例:

import sys; x = 'foo'; sys.stdout.write(x + '')

多个语句组作为套件:

一组单独的语句,在Python单一的代码块被称为序列。复杂的语句,如if, while, def, and class,那些需要一个标题行和套件。

标题行开始的声明(与关键字),并终止与冒号(:)),接着是一个或多个线构成该套件。例如:

if expression :

suite

elif expression :

suite

else :

suite

命令行参数:

我们可能已经看到了,比如,很多程序可以运行,它们提供有关如何运行的一些基本信息。 Python中可以使用 -h 做到这一点:

$ python -h

usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...

Options and arguments (and corresponding environment variables):

-c cmd : program passed in as string (terminates option list)

-d : debug output from parser (also PYTHONDEBUG=x)

-E : ignore environment variables (such as PYTHONPATH)

-h : print this help message and exit

[ etc. ]

您也可以设定您的脚本,它应该以这样的方式接受各种选项。 命令行参数是一个高级主题并在以后学习,当您通过其它的Python概念后。

以下是补充:

Python中查看变量对应的地址用函数id(var)。

注意在Python中与在C语言中有一些不同的地方。比如:a = 10,在Python中是这样的,数值10在内存中开辟一块空间来存放数据10,然后用a去引用这个10,所以这里a相当于一个标签,如果a被重新赋值了,相当于a又指向了另一个地址,比如a = 1000,那么a指向了数据1000的地址,在这点与C语言有很大的不同。

所以相同的数据用不同的变量去引用,它们的地址一样,比如:

a = 123 b = 123

然后我们输出id(a)和id(b)会发现这两个值完全一样

Python中的复数

在Python中复数类型的虚部用j表示的,比如a = 3 + 4j

可以直接进行计算。

Python中序列的基本操作

(1)len() 求序列的长度

(2)+ 序列拼接

(3)* 重复序列元素

(4)in 判断元素是否在序列中

(5)max()与min() 返回序列的最大值和最小值

(6)compare(str1,str2) str1小于str2返回-1,等于返回0,大于返回1

元组

a,b,c = (1,2,3)

t = ("name”,30,”school”)

列表

list = ["name”,30,”school”]

可以看出,元组是用(),而列表用[],另外在元组中不能改变单个元素的值,而列表可以。

Python里面增加了**运算符和//运算符

**用于幂的计算,比如计算2的3次方,就直接a=2**3

>>> a = 2**3

>>> print a

8

>>>

//用于向下取模,主要用于浮点数,比如3//1.7 = 1.0

>>> a = 3//1.7

>>> print a

1.0

>>>

数字类型的内建函数

转换函数:将其他类型的数字转换为相应类型

int()、long()、float()、complex()

bool()

>>> a = 6

>>> b=complex(a)

>>> print b

(6+0j)

>>>

功能函数:

abs(num) 绝对值

coerce(num1,num2) 将num1和num2转换为同一类型,然后以一个元组的形式返回

>>> a=3.14159

>>> b=100

>>> print coerce(a,b)

(3.14159, 100.0)

>>>

divmod(num1,num2) 获得商和余数的元组

>>> a=9

>>> b=6

>>> print divmod(a,b)

(1, 3)

>>>

pow(num1,num2,mod=1) 快速幂取模运算

>>> a=2

>>> b=3

>>> print pow(a,b,5)

3

round(flt,ndig=1) 对浮点型进行四舍五入运算

>>> print round(3.1415926,4)

3.1416

>>>

列表类型内建函数

list.append(obj) 向列表中添加一个对象obj

list.count(obj) 返回一个对象obj在列表中出现的次数

list.extend(obj) 把序列obj中的内容添加到列表中

list.index(obj,i=0,j=len(list)) 返回list[k]

list.insert(index,obj) 在index位置插入对象obj

list.pop(index=-1) 删除并返回指定位置的对象,默认是最后一个对象

list.remove(obj) 从列表中删除对象obj

list.reversed()

list.sort()

>>> arr = [1,1,5,6,9,7,3,2,11,56,45,78,100,55,0,5,9,10]

>>> arr.append(89)

>>> print arr

[1, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89]

>>> print arr.count(5)

2

>>> arr1 = [123,456,789]

>>> arr.extend(arr1)

>>> print arr

[1, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]

>>> arr.insert(1,999)

>>> print arr

[1, 999, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]

>>> arr.pop(0)

1

>>> print arr

[999, 1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]

>>> arr.remove(999)

>>> print arr

[1, 5, 6, 9, 7, 3, 2, 11, 56, 45, 78, 100, 55, 0, 5, 9, 10, 89, 123, 456, 789]

>>> arr.sort()

>>> print arr

[0, 1, 2, 3, 5, 5, 6, 7, 9, 9, 10, 11, 45, 55, 56, 78, 89, 100, 123, 456, 789]

>>>

列表有容器和可变特性

堆栈―后进先出

list.append() 向队列尾部添加

list.pop() 从队列尾部删除

队列―先进先出

list.append() 向队列尾部添加

list.pop(0) 从队列头部删除

字典类型:

访问字典中的值

通过键访问相应的值 dict2['name']

访问字典的键 dict2.keys(),返回一个列表

访问字典的值 dict2.values(), 返回一个列表

遍历一个字典

执行中字典的键不能被改变

删除字典元素和字典 del dict2[name] del dict2

>>> dict = {'name':'goujinping','age':'21','sex':'man','school':'NEFU'}

>>> print dict

{'age': '21', 'school': 'NEFU', 'name': 'goujinping', 'sex': 'man'}

>>> dict['age']

'21'

>>> print dict['name']

goujinping

>>> print dict['age']

21

>>> for key in dict.keys():

print key

age

school

name

sex

>>> for value in dict.values():

print value

21

NEFU

goujinping

man

>>> del dict['sex']

>>> print dict

{'age': '21', 'school': 'NEFU', 'name': 'goujinping'}

>>> del dict['school']

>>> print dict

{'age': '21', 'name': 'goujinping'}

>>> del dict

>>> print dict

>>>

python基础编程语法-Python基础语法(Python基础知识点)相关推荐

  1. 视频教程-Python创意编程视频课CSDN版-Python

    Python创意编程视频课CSDN版 20多年的编程磨砺,对编程技术有着执着的追求,开发有大量Python课程资源,如<哪吒学Python启蒙篇>.<哪吒学Python初级篇> ...

  2. python gui编程书籍_GitHub - ZhaoGui/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...

    PythonShare Python初学者(零基础学习Python.Python入门)书籍.视频.资料.社区推荐 本文 主要 针对 零基础 想学习Python者.本文本文由@史江歌(shijiangg ...

  3. python移动图形编程_从零学python——python的基本图形绘制以及基本语法

    1.使用python语言编程绘制一条蟒蛇. 设计到的问题:python如何构造一个窗体,在上面绘制图案? 如何编程绘制图案? 以简单的蟒蛇图案为例子:如图 代码如下: 进行代码的分析: 1)保留字im ...

  4. SQL基础编程——介绍及基本语法了解

    SQL基础编程 什么是SQL 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理 ...

  5. python快速编程入门教程-终于懂得python快速编程入门教程

    为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...

  6. python如何编程-终于发现怎么自学python编程

    随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言.在学习Python的过程中 有很多人感到迷茫 不知道自己该从什么地方入手,今天我们就来说一些新手该如何学习Python编程 ...

  7. python网络编程讲解_详解Python Socket网络编程

    Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...

  8. python快速编程入门的课后答案-Python快速编程入门

    内容简介 Python是一种面向对象.解释性的高级程序语言,它已经被应用在众多领域,包括Web开发.操作系统管理.服务器运维的自动化脚本.科学计算.桌面软件.服务器软件(网络软件).游戏等方面. 本书 ...

  9. python游戏编程入门电子书-请问自学 Python 有必要买课程吗?

    自学Python没有必要买课程,因为现在网上Python相关教程已经足够多了! 当然,自学Python务必先确定方向,即学习Python用来做什么?写爬虫?自动化?人工智能还是数据分析?如果没有确立方 ...

  10. 基于arcgis的python脚本编程视频-面向ArcGIS的Python脚本编程 PDF 高清版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于ArcGIS.Python.脚本编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小49.9 MB,Paul编写,目前豆瓣.亚 ...

最新文章

  1. pandas按条件过滤_pandas条件组合筛选和按范围筛选的示例代码
  2. java后端分享整理
  3. 软件测试计划时要记住什么
  4. 高杰:对撞机的历史回顾与展望
  5. Bitmap和Drawable的互相转换
  6. 55个高质量的Magento主题,助你构建电子商务站点
  7. Python dict set
  8. centos6.4 安装wireless驱动
  9. mac 卸载ssh 重新安装mysql,linux下彻底卸载MySQL
  10. rog live service是什么_「评测」三模无线,微动随心换,华硕ROG 烈刃2满足所有游戏需求...
  11. R语言查找指定值的位置(行列)1
  12. Springboot课设旅游推荐系统
  13. 记一次Exception in thread main java.lang.NullPointerException异常
  14. android 点击对话框按钮 不关闭按钮,Android在单击PositiveButton后不要关闭AlertDialog...
  15. Hadoop大数据通用处理平台
  16. 响应式织梦模板民宿景区旅游类网站
  17. 1.21.3 经典车间生产调度问题智能生产系统中的调度问题
  18. 为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价
  19. js 阻止移动端横屏工具方法
  20. 框架基础--WSGI、min-web框架 实现一个mini框架

热门文章

  1. CAGradientLayer简介 实现颜色渐变
  2. jvm 虚拟机的组成部分
  3. 【django小练习之主机管理界面】
  4. for循环删除集合陷阱
  5. js中typeof与instanceof用法小记
  6. 留个脚印,证明我来过~!
  7. CCF201512-1 数位之和(100分)【进制+文本】
  8. CSP202009-2 风险人群筛查(100分)【序列处理】
  9. Bailian4044 小白鼠再排队【排序】
  10. JSK-136 公式计算【入门】