Python3学习笔记(一)【基础语法】
Hello World
print("Hello World")
编码
默认情况下Python 3
源码文件以UTF-8
编码,所有字符串都是 unicode 字符串。如果想为源码文件指定不同的编码:
# -*- coding: GBK -*-
标识符
- 第一个字符必须是字母表中的字母或者
_
。 - 标识符中的其他字符由字母、数字、
_
组成。 - 标识符对大小写敏感。
在 Python 3 中,非 ASCII 标识符也是允许的了。
Python关键字
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
可以在Python代码中输入下面代码获取关键字:
import keyword
print(keyword.kwlist)
注释
Python
中单行注释以#
开头:
# -*- coding: UTF-8 -*-
# 这是单行注释
print("Hello World")
执行以上代码,输出结果为:
Hello World
多行注释可以用多个#
或者'''
、"""
:
# -*- coding: UTF-8 -*-
# 这是单行注释
# 这也是注释
'''
这是多行注释
'''
"""
这也是多行注释
"""
print("Hello World")
执行以上代码,输出结果为:
Hello World
行与缩进
Python
中最具特色的就是使用行来标识代码块,不需要使用{}
。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
if True:
print("true")
else:
print("false")
如果缩进不一致则会报错,如:
if True:
print("true")
print("true end")
else:
print("false")
输出
File “Sammple.py”, line 3
print(“true end”)
^
IndentationError: unexpected indent
多行语句
Python
通常是一行写完一条语句,但如果语句很长可以用\
来拼接语句。如:
_name = "my " \
"name " \
"is " \
"qfxl"
print(_name)
输出:
my name is qfxl
在 []
, {}
, 或 ()
中的多行语句,不需要使用反斜杠\
,例如:
_nameList = ["Anna",
"Bruce",
"qfxl"]
print(_nameList)
输出
[‘Anna’, ‘Bruce’, ‘qfxl’]
数字(Number)类型
Python
中有4种数字类型:整型、布尔型、浮点型和复数。
- int(整型),如1,只有一种整数类型int,表示为长整型,没有
Python2
中的Long
。 - bool(布尔),如True。
- float(浮点型),如3.1415,3E-2。
- complex(复数),如1+2j,1.1+2.2j
字符串(String)
- Python中的
''
,""
完全相同。
_name = "qfxl"
_nameNew = 'qfxl'
- 使用
"""
或者'''
可以指定一个多行字符串(kotlin类似)。
_names = """
Anna
Bruce
qfxl
"""
_namesCopy = '''
Anna
Bruce
qfxl
'''
- 转义符为
\
。
_s = "this is first column \n this is second column"
\
可以用来转义,使用r
可以让\
失去转义效果。
#\n会被直接输出,不会换行。
_s = r"this is first column \n this is second column"
- 按字面意义级联字符串。
_name = "my " "name " "is " "qfxl"
print(_name)
# 输出 my name is qfxl
- 字符串可以用
+
连接,用*
代表重复。
_name = "my " + "name " + "is " + "qfxl"
print(_name)
print(_name * 3) # 输出3次
- Python字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
_name = "qfxl"
print(_name[0]) # 输出q
print(_name[-1]) # 输出l
- Python中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:
变量[头下标:尾下标]
。
_name = "qfxl"
print(_name[0:1]) # 输出q
空行
函数和类的方法之间用空行分隔,表示一段新代码的开始,类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python
语法的一部分。书写时不插入空行,Python
解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
注意:空行也是代码程序的一部分。
等待用户输入。
input("\n按下 Enter 结束...")
同一行显示多条语句。
Python
中同一行可以输入多个语句,以;
分隔。
print("my "); print("name "); print("is "); print("qfxl")
输出
my
name
is
qfxl
多个语句构成代码组。
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if
、while
、def
和class
这样的复合语句,首行以关键字开始,以冒号:
结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
_name = "qfxl"
if _name.isdigit():
print("isDigit")
elif _name.isdecimal():
print("isDecimal")
else:
print("neither")
Print 输出。
print输出默认是换行的,如果要实现不换行需要在变量末尾加上end=""
_name = "qfxl"
print(_name)
print(_name, end=" ")
print(_name, end=" ")
print(_name, end=" ")
输出
qfxl
qfxl qfxl qfxl
import 和 from…import。
在Python
中使用import
和from...import
来导入相应模块。
* 将整个模块导入。
import keyword
- 从某个模块中导入某个函数。
from keyword import kwlist
print(kwlist)
- 从某个模块中导入多个函数。
from keyword import kwlist, iskeyword
- 将某个模块中的全部函数导入。
from keyword import *
声明:此系列博客都是根据菜鸟教程学习总结而来。