Python基础语法(Python基础知识点)

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
<type 'dict'>
>>> 
(0)

相关推荐

  • Python常用知识点汇总

    1.Set基本数据类型 a.set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. """ def add(self, *args, **kwargs): # real signat

  • 归纳整理Python中的控制流语句的知识点

    程序流 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键入 Python 解释器中(或者将它们保存在一个文件中,并作为一个 Python 程序来执行)时,读取语句的顺序是从左到右. 当读到一个行结束符(比如换行符)时,Python 解释器就前进到下一行并继续,直到没有了代码行. 清单 1. 一个简单的 Python 程序 >>> i = 1 >>> type(i)

  • Python易忽视知识点小结

    这里记录Python中容易被忽视的小问题 一.input(...)和raw_input(...) #简单的差看帮助文档input(...)和raw_input(...)有如下区别 >>> help(input) Help on built-in function input in module __builtin__: input(...) input([prompt]) -> value Equivalent to eval(raw_input(prompt)). >>

  • Python语言的12个基础知识点小结

    python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换 目标: 将字符串line中的 overview.gif 替换成其他字符串 复制代码 代码如下: >>> line = '<IMG ALIGN="middle" SRC=\'#\'

  • 在Python中处理日期和时间的基本知识点整理汇总

    Python程序可以处理多种方式的日期和时间.日期格式之间的转换是一种常见计算机的杂活. Python的时间和日历模块,能帮助处理日期和时间. Tick是什么? 时间间隔为浮点数以秒为单位的数字.在特定的时间瞬间自上午12时00分,1970年1月1日(纪元)表示,单位为秒. Python中可用的流行时间模块,它提供功能转换.该功能time.time()返回当前系统时间,因为上午12点,1970年1月1日(时代). 例子: #!/usr/bin/python import time; # This

  • Python基础语法(Python基础知识点)

    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&

  • Python入门之基础语法详解

    一.我的经历及目标 在学习python之前:我学习过C/C++,在学校期间做过很多的项目,已经有两年多了,算是对C/C++非常的熟悉了,精通不敢说,但是对于面向过程和面向对象有很深刻的认识,做过很多的开发,学习数据库,MFC, QT, linux下利用C/C++进行服务器的开发,QT环境下进行模拟QQ的开发- 听说python挺火的,我也来尝试一门新的语言,python和c有80%的相似性,毕竟是用C来开发的语言,但是是面向过程的一门语言,有C++的继承等相似的特性,感觉更有信心学会它了,毕竟可

  • python中pivot()函数基础知识点

    不同于以往为大家介绍的函数使用,我们利用pivot函数可以实现的方式,就是用来重塑数据使用的,在python的使用上并不常见,但是如果需要利用这种功能,基本上能够被我们选择调用的函数,pivot函数一定是榜上有名,下面我们就围绕着该函数,给大家做详细的内容讲解,一起来看下吧. 函数语法: pivot() 参数: Index.columns需要注意的是前者是可选参数,后者是必选参数. 使用实例: import pandas as pd df=pd.read_csv("user_label_part

  • Python学习笔记(二)基础语法

    学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易.本文的主要内容是Python基础语法,学完后,能熟练使用就好.(开发环境依然是Python2.7,简单使用)一,基本知识1,不需要预先定义数据类型(此说法值得商榷,姑且这么说吧),这是与其他语言的最大不同(如C,C++,C#,Delphi等) 复制代码 代码如下: >>> x=12 >>> y=13 >>> z=x+y >>> print z 25 注意:尽管变量不

  • Python面向对象原理与基础语法详解

    本文实例讲述了Python面向对象原理与基础语法.分享给大家供大家参考,具体如下: 目标 dir 内置函数 定义简单的类(只包含方法) 方法中的 self 参数 初始化方法 内置方法和属性 01. dir 内置函数(知道) 在 Python 中 对象几乎是无所不在的,我们之前学习的 变量.数据.函数 都是对象 在 Python 中可以使用以下两个方法验证: 在 标识符 / 数据 后输入一个 .,然后按下 TAB 键,iPython 会提示该对象能够调用的 方法列表 使用内置函数 dir 传入 标

  • python中K-means算法基础知识点

    能够学习和掌握编程,最好的学习方式,就是去掌握基本的使用技巧,再多的概念意义,总归都是为了使用服务的,K-means算法又叫K-均值算法,是非监督学习中的聚类算法.主要有三个元素,其中N是元素个数,x表示元素,c(j)表示第j簇的质心,下面就使用方式给大家简单介绍实例使用. K-Means算法进行聚类分析 km = KMeans(n_clusters = 3) km.fit(X) centers = km.cluster_centers_ print(centers) 三个簇的中心点坐标为: [

  • Python绘图之turtle库的基础语法使用

    前言 Python语言的turtle库是一个直观有趣的图形绘制函数库,是python语言标准库之一. turtle库也叫海龟库,是turtle绘图体系的Python实现.turtle库是Python语言的标准库之一,是入门级的图形绘制函数库. turtle绘图体系:也叫海龟绘图系统,它是在1969年诞生,主要用于程序设计入门的一种绘图方式. Python计算生态 = 标准库 + 第三方库 标准库:随解释器直接安装到操作系统中的功能模块. 第三方库:需要经过安装才能使用的功能模块. turtle官

  • Python中基础数据类型 set集合知识点总结

    集合的简介 集合是一个无序.不重复的序列 它的基本用法包括成员检测和消除重复元素 集合对象也支持像 联合,交集,差集,对称差分等数学运算 集合中所有的元素放在 {} 中间,并用逗号分开 集合的例子 这里会有个重点知识 # 声明 basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} print(basket) set_ = {1, 1, 1, 1, 2} print(set_) # 输出结果 {'orange', 'pe

  • Python基础语法之容器详解

    目录 Python基础语法-容器 1.列表(list) 1.1 列表基本概念 1.2 获取元素 1.3 增.删.改 1.3.1 增 - -增加元素 1.3.2 删 - 删除元素 1.3.3 改-改变列表中的元素 总结 Python基础语法-容器 容器型数据类型是指可以包含多个多种数据类型数据的数据类型. 1.列表(list) 1.1 列表基本概念 列表是Python自带的容器型数据类型,将"[]"作为容器的标志,里面多的元素用逗号隔开:[元素1, 元素2, 元素3,-] 特点: 1.元

  • Python学习之基础语法介绍

    目录 前言 基础语法 编码 注释 行与缩进 多行语句 import 与 from-import 前言 Python环境的搭建这里就不赘述了,有需要的小伙伴可以在网上搜罗出很多教程,注意安装PyChom编辑工具.这次我们主要讲一下几点内容: 基础语法基本数据类型 首先,我们打开安装好的PyChom编辑工具创建第一个Python程序. 启动PyChom编辑工具后,需要创建一个新项目,选择"New Projec",或者"File ️ New Projec" 命名,可以看到

随机推荐