基本语法
注释
-
单行注释
#
后的内容未注释内容 -
多行注释
从
'''
开始到'''
结束
缩进
这是Python 语法与其他编程语言最大的区别。
Python 代码块通过缩进/对齐
表达代码逻辑,而不是使用大括号。缩进表达一个语句属于哪个代码块。缩进风格,空格:
- 1或2 空格:太短,很难确定代码语句属于哪个块;
- 8至10 空格:太长,如果代码内嵌的层次太多,就会使得代码很难阅读;
- 4 个空格:刚刚好,范·罗萨姆支持的风格。
续行
一行过长的语句可以使用反斜杠\
分解成几行。
# 03 - 续行.py
print("I like Python very very very very very very very very ve\
ry very very very very very very very very very very very very v\
ery very very very very very very very very very very very very much")
一行多句
一行不同代码语句间使用 ;
隔开
a=5;print(a)
变量
-
使用方法
<变量> = <赋值> #如 name = "lisa"
一次赋值,多次使用
不需要预先声明变量类型
-
变量名称的定义
- 不能以数字开头
- 变量名称中不能包含特殊符号(下划线"_"除外)
- 变量名称区分大小写
- 关键字不能作为变量名称使用
- 内建函数不能作为变量名称使用
基本输入输出
Python的输出
-
输出数字
print(3) #输出效果:3
-
输出字符串(需要用引号括起来)
print("字符串") #输出效果:字符串
-
一次输出多个内容用逗号隔开
print(3,"字符串") #输出效果:3 字符串
-
字符串拼接,使用
+
print("test"+"123") #输出效果:test123
-
以 ASCLL 码形式输入
print(chr(97)) #输出效果:a print(chr(65)) #输出效果:A
-
输出到文件中
fp = open(r"C:\Users\LEGION\Desktop\a.txt",“a+”) #打开文件 print("test",file=fp) #输出到文件 fp.close() #关闭文件 #在桌面生成一个名为a.txt的文件,并写入了字符串"test"
-
输出完不换行
end=""
表示以什么结尾,此处以空字符结尾print("test",end="")
-
输出多遍
print("r"*10) #输出效果:rrrrrrrrrr
Python的输入
input函数
-
默认输入字符串形式
如果需要转化成别的类型则
n = int(input()) #转化成int类型
-
input(“字符串”)
字符串内容会输出到屏幕上并等待下一步的输入
-
提示“please input your name :”
输入
弹出“欢迎的登录”
n=input("please input your name : ") print("欢迎"+n+"的登录")
效果
-
input的一般使用方法
<变量>=input("字符串")
-
练习:
屏幕上输出
请输入用户名:
请输入密码:
输入用户名密码后输出
用户名是<用户名>***密码是<密码>
代码如下
m=input("请输入用户名:") n=input("请输入密码:") print("用户名是"+m+"***"+"密码是"+n)
实现效果
sys
sys.argv
是一个包含命令行参数的列表。它允许在运行 Python 脚本时传递参数给脚本。
sys.argv
列表的第一个元素是脚本的名称,后续的元素是在命令行中传递给脚本的参数。这些参数以空格分隔,并以字符串的形式存储在 sys.argv
列表中
import sys
使用
import sys
# 打印脚本名称
print("脚本名称:", sys.argv[0])
# 打印传递给脚本的参数
print("参数:", sys.argv[1:])
运算符
算数运算符
参与运算的操作数是数字,结果也是数字。
算数运算符 | 解释 |
---|---|
+ | * 如果操作数是字符类型,则字符串拼接 * 如果操作数是数字类型,则算术运算。 |
- | |
* | * 如果操作数是数字类型,则算数运算。 * 如果两个操作数其中一个是字符串类型,另一个是数字类型,则将字符串重复输出。 |
/ | |
% | 取余 |
// | 取商 |
** | 幂运算 |
赋值运算符
赋值运算符 | 举例 | 含义 |
---|---|---|
+= | a+=b | a=a+b |
-= | ||
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |
%= | ||
//= | a//=b | a=a//b |
**= |
比较运算符
运算结果是布尔类型的值,True | False。
比较运算符 | 说明 |
---|---|
< | |
<= | |
> | |
>= | |
== | 等于 |
!= | 不等于 |
逻辑运算符
参与运算的操作数是布尔类型的值,运算结果是布尔类型的值。
逻辑运算符 | 解释 | 字符表达 |
---|---|---|
and | 逻辑与运算 | & |
or | 逻辑或运算 | | |
not | 逻辑非运算 |
标识符
关键字
查看关键字
引用以下模块
import keyword
可以使用 keyword 模块查看关键字
print(keyword.kwlist)
# 输出内容
['False', 'None', 'True', '__peg_parser__', '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']
判断某个字符串是否为关键字
keyword.iskeyword()
内置函数
除了关键字之外,Python 还有可以在任何一级代码使用的“内建”的名字集合,这些名字可以由解释器设置或使用,内置函数就是在任何时候,任何地方都可以调用的函数。虽然built-in 不是关键字,但是应该把它当作“系统保留字”。
内置方法(函数),在任何地方都可以调用如下:
内置函数 | ||||
---|---|---|---|---|
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | import() |
complex() | hasattr() | max() | round() |
保留的常量:
- True
- False
- None
python 脚本基本风格
编写程序时,应该建立一种统一且容易阅读的结构,并将它应用到每一个文件中去。在Python 语言中:
{}
并不代表代码块
#!/usr/bin/env python3 #指定命令解释器
# -*- coding:gbk -*- #起始行,编码格式
'this is a test module' #模块文档字符串,注释说明
import sys #导入模块
import os
debug = True #全局变量声明
class FooClass(object): #类定义
'Foo class'
pass # 占位
def test(): #函数定义
"test function"
foo = FooClass()
if __name__ == '__main__': #程序主体
test()