随着[人工智能]和[大数据]的火热,[Python]成为了广大[科学家]和普通[大众]的学习语言。在学习Python的过程中 有很多人感到迷茫不知道自己该从什么地方入手,今天小编就分享一些Python的基本语法,供大家学习。

一、基本概念

**1. python中数有四种类型:**整数、长整数、浮点数和复数。

· 整数, 如 1

· 长整数 是比较大的整数

· 浮点数 如 1.23、3E-2

· 复数 如 1 + 2j、 1.1 + 2.2j

2. 字符串(字符的序列)

· python中单引号和双引号使用完全相同。

· 使用三引号(’’'或""")可以指定一个多行字符串。

· 转义符 ‘’

· 自然字符串, 通过在字符串前加r或R。 如 r"this is a [line] with " 则 会显示,并不是换行。

· python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。

· 字符串是不可变的。

· 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

3. 标识符的命名

· 第一个字符必须是字母表中字母或下划线’_’。

· 标识符的其他的部分有字母、数字和下划线组成。

· 标识符对大小写敏感。

4. 对象

python程序中用到的任何“东西”都成为“对象”。

5. 逻辑行和物理行

物理行是我们在编写程序时看到的,逻辑行则是python看到的。

python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。

多个物理行中可以写一个逻辑行,如下:

s = "peter is

writing this article"

上面的使用被称为‘明确的行连接’, 又如:

print

“peter”

6. 缩进

空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句

分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。

注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。

二、运算符与表达式

1. 运算符与其用法

2. 运算符优先级(从低到高)

三、控制流

1. if 语句

i = 10

n = int(raw_input(“enter a number:”))

if n == i:

print “equal”

elif n < i:

print “lower”

else:

print “higher”

2. while语句

while True:

pass

else:

pass

#else语句可选,当while为False时,else语句被执行。 pass是空语句。

3. for 循环 for…in

for i in range(0, 5):

print i

else:

pass

打印0到4

注:当for循环结束后执行else语句;

range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

4. break语句

终止循环语句,如果从for或while中终止,任何对应循环的else将执行。

5. continue语句

continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。

四、函数

函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

def sumOf(a, b):

return a + b

1. 函数形参

函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’

2. 局部变量

在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。

global语句, 为定义在函数外的变量赋值时使用global语句。

def func:

global x

print "x is ", x

x = 1

x = 3

func

print x

#3

#1

3. 默认参数

通过使用默认参数可以使函数的一些参数是‘可选的’。

def say(msg, times = 1):

print msg * times

say(“peter”)

say(“peter”, 3)

注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。

4. 关键参数

如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。

优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=2, c=3):

print “a is %s, b is %s, c is %s” % (a, b, c)

func(1) #a is 1, b is 2, c is 3

func(1, 5) #a is 1, b is 5, c is 3

func(1, c = 10) #a is 1, b is 2, c is 10

func(c = 20, a = 30) #a is 30, b is 2, c is 20

5. return 语句

return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。

没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。

6. DocStrings (文档字符串)

def func:

‘’'This is self-defined function

Do nothing’’’

pass

print func.doc

#This is self-defined function

#Do nothing

五、模块

模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’([import])以便利用它的功能。

在python程序中导入其他模块使用’import’, 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串’'即当前目录,所以程序中可导入当前目录的模块。

1. 字节编译的.pyc文件

导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。

pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于

[java]或[.net]虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。

2. from … import

如果想直接使用其他模块的变量或其他,而不加’模块名+.'前缀,可以使用from … import。

例如想直接使用sys的argv,from sys import argv 或 from sys import *

3. 模块的__name__

每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户

单独运行。

4. dir函数

dir(sys)返回sys模块的名称列表;如果不提供参数,即dir,则返回当前模块中定义名称列表。

del -> 删除一个变量/名称,del之后,该变量就不能再使用。

六、[数据结构]

python有三种内建的数据结构:列表、元组和字典。

1. 列表

list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项目包含在方括号中,eg: [1, 2, 3], 空列表。判断列表中是否包含某项可以使用in, 比如 l = [1, 2, 3]; print 1 in l; #True;支持索引和切片操作;索引时若超出范围,则IndexError;使用函数len查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError

list函数如下:

append(value) —向列表尾添加项value

l = [1, 2, 2]

l.append(3) #[1, 2, 2, 3]

count(value) —返回列表中值为value的项的个数

l = [1, 2, 2]

print l.count(2) # 2

extend(list2) —向列表尾添加列表list2

l = [1, 2, 2]

l1 = [10, 20]

l.extend(l1)

print l #[1, 2, 2, 10, 20]

index(value, [start, [stop]]) —返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError

l = [1, 2, 2]

a = 4

try:

print l.index(a)

except ValueError, ve:

print “there is no %d in list” % a

insert(i, value) —向列表i位置插入项vlaue,如果没有i,则添加到列表尾部

l = [1, 2, 2]

l.insert(1, 100)

print l #[1, 100, 2, 2]

l.insert(100, 1000)

print l #[1, 100, 2, 2, 1000]

pop([i]) —返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexError

l = [0, 1, 2, 3, 4, 5]

print l.pop # 5

print l #[0, 1, 2, 3, 4]

print l.pop(1) #1

print l #[0, 2, 3, 4]

try:

l.pop(100)

except IndexError, ie:

print “index out of range”

remove(value) —删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueError

l = [1, 2, 3, 1, 2, 3]

l.remove(2)

print l #[1, 3, 1, 2, 3]

try:

l.remove(10)

except ValueError, ve:

print “there is no 10 in list”

reverse —列表反转

l = [1, 2, 3]

l.reverse

print l #[3, 2, 1]

sort(cmp=None, key=None, reverse=False) —列表排序

【Python Library Reference】

cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument:

“cmp=lambda x,y: cmp(x.lower, y.lower)”

key:key specifies a function of one argument that is used to extract a comparison key from each list element: “key=str.lower”

reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an

equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once.

l5 = [10, 5, 20, 1, 30]

l5.sort

print l5 #[1, 5, 10, 20, 30]

l6 = [“bcd”, “abc”, “cde”, “bbb”]

l6.sort(cmp = lambda s1, s2: cmp(s1[0],s2[1]))

print l6 #[‘abc’, ‘bbb’, ‘bcd’, ‘cde’]

l7 = [“bcd”, “abc”, “cde”, “bbb”, “faf”]

l7.sort(key = lambda s: s[1])

print l7 #[‘faf’, ‘abc’, ‘bbb’, ‘bcd’, ‘cde’]程中 有很多人感到迷茫不知道自己该从什么地方入手,今天千锋广州小编就分享一些Python的基本语法,供大家学习。

一、基本概念

**1. python中数有四种类型:**整数、长整数、浮点数和复数。

· 整数, 如 1

· 长整数 是比较大的整数

· 浮点数 如 1.23、3E-2

· 复数 如 1 + 2j、 1.1 + 2.2j

2. 字符串(字符的序列)

· python中单引号和双引号使用完全相同。

· 使用三引号(’’'或""")可以指定一个多行字符串。

· 转义符 ‘’

· 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with " 则 会显示,并不是换行。

· python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。

· 字符串是不可变的。

· 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

3. 标识符的命名

· 第一个字符必须是字母表中字母或下划线’_’。

· 标识符的其他的部分有字母、数字和下划线组成。

· 标识符对大小写敏感。

4. 对象

python程序中用到的任何“东西”都成为“对象”。

5. 逻辑行和物理行

物理行是我们在编写程序时看到的,逻辑行则是python看到的。

python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。

多个物理行中可以写一个逻辑行,如下:

s = "peter is

writing this article"

上面的使用被称为‘明确的行连接’, 又如:

print

“peter”

6. 缩进

空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句

分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。

注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。

二、运算符与表达式

1. 运算符与其用法

2. 运算符优先级(从低到高)

三、控制流

1. if 语句

i = 10

n = int(raw_input(“enter a number:”))

if n == i:

print “equal”

elif n < i:

print “lower”

else:

print “higher”

2. while语句

while True:

pass

else:

pass

#else语句可选,当while为False时,else语句被执行。 pass是空语句。

3. for 循环 for…in

for i in range(0, 5):

print i

else:

pass

打印0到4

注:当for循环结束后执行else语句;

range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

4. break语句

终止循环语句,如果从for或while中终止,任何对应循环的else将执行。

5. continue语句

continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。

四、函数

函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

def sumOf(a, b):

return a + b

1. 函数形参

函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’

2. 局部变量

在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。

global语句, 为定义在函数外的变量赋值时使用global语句。

def func:

global x

print "x is ", x

x = 1

x = 3

func

print x

#3

#1

3. 默认参数

通过使用默认参数可以使函数的一些参数是‘可选的’。

def say(msg, times = 1):

print msg * times

say(“peter”)

say(“peter”, 3)

注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。

4. 关键参数

如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。

优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=2, c=3):

print “a is %s, b is %s, c is %s” % (a, b, c)

func(1) #a is 1, b is 2, c is 3

func(1, 5) #a is 1, b is 5, c is 3

func(1, c = 10) #a is 1, b is 2, c is 10

func(c = 20, a = 30) #a is 30, b is 2, c is 20

5. return 语句

return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。

没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。

6. DocStrings (文档字符串)

def func:

‘’'This is self-defined function

Do nothing’’’

pass

print func.doc

#This is self-defined function

#Do nothing

五、模块

模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)以便利用它的功能。

在python程序中导入其他模块使用’import’, 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串’'即当前目录,所以程序中可导入当前目录的模块。

1. 字节编译的.pyc文件

导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。

pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于

[java]或[.net]虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。

2. from … import

如果想直接使用其他模块的变量或其他,而不加’模块名+.'前缀,可以使用from … import。

例如想直接使用sys的argv,from sys import argv 或 from sys [import] *

3. 模块的__name__

每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户

单独运行。

4. dir函数

dir(sys)返回sys模块的名称列表;如果不提供参数,即dir,则返回当前模块中定义名称列表。

del -> 删除一个变量/名称,del之后,该变量就不能再使用。

六、数据结构

python有三种内建的数据结构:列表、元组和字典。

1. 列表

list是处理一组有序项目的数据结构,列表是可变的[数据结构]。列表的项目包含在方括号中,eg: [1, 2, 3], 空列表。判断列表中是否包含某项可以使用in, 比如 l = [1, 2, 3]; print 1 in l; #True;支持索引和切片操作;索引时若超出范围,则IndexError;使用函数len查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError

list函数如下:

append(value) —向列表尾添加项value

l = [1, 2, 2]

l.append(3) #[1, 2, 2, 3]

count(value) —返回列表中值为value的项的个数

l = [1, 2, 2]

print l.count(2) # 2

extend(list2) —向列表尾添加列表list2

l = [1, 2, 2]

l1 = [10, 20]

l.extend(l1)

print l #[1, 2, 2, 10, 20]

index(value, [start, [stop]]) —返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError

l = [1, 2, 2]

a = 4

try:

print l.index(a)

except ValueError, ve:

print “there is no %d in list” % a

insert(i, value) —向列表i位置插入项vlaue,如果没有i,则添加到列表尾部

l = [1, 2, 2]

l.insert(1, 100)

print l #[1, 100, 2, 2]

l.insert(100, 1000)

print l #[1, 100, 2, 2, 1000]

pop([i]) —返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexError

l = [0, 1, 2, 3, 4, 5]

print l.pop # 5

print l #[0, 1, 2, 3, 4]

print l.pop(1) #1

print l #[0, 2, 3, 4]

try:

l.pop(100)

except IndexError, ie:

print “index out of range”

remove(value) —删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueError

l = [1, 2, 3, 1, 2, 3]

l.remove(2)

print l #[1, 3, 1, 2, 3]

try:

l.remove(10)

except ValueError, ve:

print “there is no 10 in list”

reverse —列表反转

l = [1, 2, 3]

l.reverse

print l #[3, 2, 1]

sort(cmp=None, key=None, reverse=False) —列表排序

【[Python] Library Reference】

cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument:

“cmp=lambda x,y: cmp(x.lower, y.lower)”

key:key specif[ie]s a function of one argument that is used to extract a comparison key from each list element: “key=str.lower”

reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an

equivalent cmp function. This is because cmp is called multiple times for each list element while key and [reverse]touch each element only once.

l5 = [10, 5, 20, 1, 30]

l5.sort

print l5 #[1, 5, 10, 20, 30]

l6 = [“bcd”, “abc”, “cde”, “bbb”]

l6.sort(cmp = lambda s1, s2: cmp)

print l6 #[‘abc’, ‘bbb’, ‘bcd’, ‘cde’]

l7 = [“bcd”, “abc”, “cde”, “bbb”, “faf”]

l7.sort(key = lambda s: s[1])

print l7 #[‘faf’, ‘abc’, ‘bbb’, ‘bcd’, ‘[cde]’]

Python基础语法总结,Python初学者必备相关推荐

  1. python基础语法总结-Python基础语法总结之逻辑运算

    Python里的逻辑运算有and.or 和 not,它们分别说明为与.或.非.虽然逻辑运算符在Python基础语法中是基础中的基础,但是对于零基础小白来讲,还是有一定难度的.本文就来为零基础小白好好讲 ...

  2. python基础指令-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  3. python基础语法手册-python语法手册

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 常用的也不超过十个,这种相对于更为复杂的html标记语言来说,markd ...

  4. python基础语法手册-python语法大全,python语法手册

    deff(x,y=0,z=0):pass 定义一个有三个参数x,y,z的函数f,参数x是必须要赋值,比如f(1),f(x=1),都是给x赋值1,y,z也是需要赋值,但不是必须的,因为默认值已经在函数里 ...

  5. python基础代码大全-python基础语法,python 代码命令大全

    python: 1.语法强制缩进 2.区分大小写:iLoop与iloop是两个变量 3.变量无需申明,但是变量赋值前无法使用:a=3合法,b=a+3合法,b=a+c不合法,因为c未赋值前不能使用 4. ...

  6. Python基础语法、python基础数据类型、python解释器、python注释符、python-range()和sum()

    前段时间准备考研去了,没什么时间写博客,老师一番教诲,细想我这自考本的身份去考名校,万一没考上在这里白学了,到时候找工作也是个难事.细想自己的环境不容自己这么极端,也是自己把自己想的太美好了,怎么可能 ...

  7. python基础语法总结-Python基础语法精心总结!看完都知道的可以往下继续学习了...

    这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输出变量时占位 字符串(后期爬虫必备) int() ...

  8. python基础语法手册-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  9. 【python基础语法】python实现交换操作a,b = b,a的原理

    a, b 实际上是元组的形式,元组是不可变数据类型 赋值运算符左右两边都是元组,左边是变量的元组,右边是表达式的元组 先将右边的所有表达式都计算完之后,再分别赋值给左边的所有变量

  10. Deep Learning Chapter02:Python基础语法回顾

    Deep Learning Chapter02:Python基础语法回顾 由于一年多没有接触python,现在恶补了下python基础语法,为以后的深度学习打下基础.现总结如下,希望对大家有所帮助. ...

最新文章

  1. J2EE学习笔记三:EJB基础概念和知识 收藏
  2. mysql repair 索引_mysql 问题记录(1) 全文索引查询问题及使用方法
  3. 玩转mini2440开发板之【在64位WIN7/WIN10系统中安装USB驱动】
  4. iOS 14惊现iPhone 12 Pro设计图细节:大失所望!
  5. Windows学习总结(7)——学会CMD命令提示符的重要性
  6. dell4600服务器不能启动
  7. POJ 4047 Garden 线段树 区间更新
  8. python des加密文件_python基于pyDes库实现des加密的方法
  9. Grasshopper and Rhino: Python Scripting Grasshopper和Rhino:Python脚本 Lynda课程中文字幕
  10. RS-485 接口 EMC 电路设计
  11. 识别IOS和android方法
  12. 使用第三方sdk时问题
  13. iphone 代码片段2
  14. 公众号滑动图代码_【公众号运营】文章图片滑动效果实现方法
  15. 对接LeetCode-完成代码提交校验
  16. android studio代码教程,史上最详细的Android Studio系列教程三
  17. DirectX、DirectShow关系等
  18. ubuntu安装和卸载软件命令
  19. 【历史上的今天】11 月 16 日:RISC-V 领导者出生;微软发布 Windows CE;电子管问世
  20. linux开启并进入Mysql

热门文章

  1. 显卡暴涨,这我万万没想到啊
  2. 你在打王者农药,有人却用iPhone来训练神经网络
  3. 一文带你了解卷积神经网络基础,建议收藏
  4. 太难了!远程开工第一天:钉钉、企业微信崩了 飞书有点卡
  5. Python3.5源码分析-内建模块builtins初始化
  6. 数据结构之列表 timeit
  7. Mongodb的权限管理
  8. EXE文件中的程序的加载过程 SA是什么呢?PSP是什么?
  9. 详解|工业机器人内部机构详解
  10. 什么是近似算法?它适用于哪些问题?这篇文章给你答案