Python3基本语法

指定编码

# -*- coding: utf-8 -*-

标识符

  1. 第一个字符需要是字母或下划线_
  2. 其他部分可以是数字、字母或下划线_
  3. 大小写敏感

注意:Python3中可以用中文名作为变量,非ASCII字符也是允许的

保留字

Python标准库里有一个keyword模块,可以输出当前版本的所有保留字:

1
2
import keyword
keyword.kwlist

注释

单行注释

使用#字符,如:

1
2
#wdnmd
print ("wdnmd") #这是一个注释

多行注释

使用‘’‘“”“,用法类似于markdown的代码语法:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#wd
#nmd
print ("wdnmd") #这是一个注释

'''
第一行
第二行
‘’‘

“”“
第一行
第二行
”“”

代码块

Python使用缩进来表示代码块,不需要使用{}。 缩进的空格数可变,但同一个代码块的缩进必须相同,否则会报错

1
2
3
4
if True:
    print ("True")
else:
    print ("False")
1
2
3
4
5
6
if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
    print ("False")   

语句

多行语句

通常是一行写完一条语句,但是如果语句很长,可以使用反斜杠\来实现多行语句

1
2
3
total = item_one + \
        item_two + \
        item_three

如果多行语句位于[]``{}``()中,不需要使用\,如:

1
2
total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five'] 

单行多条语句

在同一行中使用多条语句,语句之间使用分号;分割,如:

1
import sys; x = 'runoob'; sys.stdout.write(x + '\n')

这里按标准写法应该为:

1
2
3
import sys
x = 'runoob'
sys.stdout.write(x + '\n')

Number类型

int(整型):如1,表示为长整型
bool(布尔):如True、False
float(浮点):如1.23、3E-2
complex(复数):如1 + 2j、1.1 + 2.2j

String类型

  • Python中的单引号'和双引号"使用完全相同
  • 转义符\
  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。如r"this is a line with \n"则\n会显示,并不是换行。
  • 按字面意义级联字符串,如"this " “is " “string"会被自动转换为this is string
  • 字符串可以用+运算符连接在一起,用*运算符重复。
  • Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  • Python中的字符串不能改变。
  • Python没有单独的字符类型,一个字符就是长度为 1 的字符串。
  • 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
1
2
3
4
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
            可以由多行组成"""

举个🌰

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#!/usr/bin/python3

str='123456789'
 
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第五个的字符
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')         # 连接字符串
 
print('------------------------------')
 
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

输出结果为

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
123456789
12345678
1
345
3456789
24
123456789123456789
123456789你好
------------------------------
hello
runoob
hello\nrunoob

空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

等待用户输入

执行以下程序会在按enter键后等待用户输入:

1
2
3
#!/usr/bin/python3
 
input("\n\n按下 enter 键后退出。")

“\n\n"在结果输出前会输出两个新的空行。一旦用户再次按下 enter 键时,程序将退出。

print输出

print默认是换行输出的,如不需要换行需要在变量末尾加上end=“ ”
执行程序:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/usr/bin/python3
 
x="a"
y="b"
# 换行输出
print( x )
print( y )
 
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()

输出:

1
2
3
4
a
b
---------
a b

导入模块

使用import或者from...import来导入相应模块
import用于导入整个模块,如:import somemodule
from...import用于倒入模块中的部分函数,如:

1
2
3
from somemodule import somefunction #导入单个函数
from somemodule import somefunction1somefunction2 #导入多个函数
from somemodule import * #导入全部函数

来个程序🌰看看:

这是导入sys模块,引用argvpath时需要在前面加sys.

1
2
3
4
5
6
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
    print (i)
print ('\n python 路径为',sys.path)

这是导入sys模块中的argvpath,所以不需要在前面加sys.

1
2
3
4
from sys import argv,path  #  导入特定的成员
 
print('================python from import===================================')
print('path:',path)

命令行参数

Python可以使用-h参数查看各参数帮助信息,在终端中执行python -h即可

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计