目录
一,缩进
Python 中的缩进要求非常严格,必须严格对齐。因为 Python 的代码块不由{}控制,而是由缩进控制。
二,输入输出
输出:
x = input()
# 换行输出
print(x)
print(123)
# 不换行输出
print(x,end='')
print(123)
三,作用域
Python中的变量作用域指的是变量在程序中可以被访问的范围。Python中有以下四种作用域:
-
Local:局部作用域,指函数或代码块中的变量,只能在该函数或代码块中被访问。当函数执行结束或代码块执行结束时,变量的作用域就会结束。
-
Enclosing:嵌套作用域,指函数内部包含其他函数或代码块,内部函数或代码块可以访问外部函数或代码块中的变量。但是,外部函数或代码块不能访问内部函数或代码块中的变量。
-
Global:全局作用域,指在模块中定义的变量,可以在该模块中的任意函数或代码块中访问。在函数或代码块中,如果需要访问全局变量,需要使用global关键字进行声明。
-
Built-in:内置作用域,指Python内置的函数和变量名,如print()、str()等。
在Python中,可以通过以下几种方式来访问变量:
-
如果在函数内部定义了一个与全局变量同名的变量,则该函数内部的变量会遮盖全局变量,函数内部使用的是局部变量。
-
如果在函数内部需要访问全局变量,需要使用global关键字进行声明。
四,数据结构
五,运算符
1,赋值
默认是引用赋值。
a=[1,2,3,4]
b=a
b[1:2]='abcd'
print(a)
c='abc'
c=a
c[1:2]='ghi'
print(a)
输出:
[1, 'a', 'b', 'c', 'd', 3, 4]
[1, 'g', 'h', 'i', 'b', 'c', 'd', 3, 4]
2,in和not in
str1 = 'abcdefg'
if 'abc' in str1:
print('abc in')
if 'acd' not in str1:
print('acd not in')
输出:
abc in
acd not in
3,or和and
and和or是短路运算符,但是运行规则比较复杂。
(1)or
A or B
如果A等价于true,那么A or B的结果就是A
如果A等价于false,B等价于true,那么A or B的结果就是B
如果A等价于false,B等价于false,那么A or B的结果就是false
print(7//7.2 or 2>3)
print(7//3.2 or 3>2)
print(3>2 or 7//3.2)
print(2>3 or 7//3.2)
输出:
False
2.0
True
2.0
(2)and
A and B
如果A等价于true,B等价于true,那么A and B的结果就是B
如果A等价于false,或者B等价于false,那么A and B的结果就是false
print(3>2 and 7//3.2)
print(7//3.2 and 3>2)
print(7//3.2 and 2>3)
输出:
2.0
True
False
六,函数参数传递
(1)列表的按值传递和引用传递
def f(alist):
alist[0]=5
x = [1,2,3]
f(x[:])
print(x)
f(x)
print(x)
[1, 2, 3]
[5, 2, 3]
(2)位置实参和关键字实参
def prt(a,b):
print(a,end=' ')
print(b)
prt(1,2)
prt(1,b=2)
prt(a=1,b=2)
prt(b=2,a=1)
1 2
1 2
1 2
1 2
(3)默认值
def prt(a,b=3):
print(a,end=' ')
print(b)
prt(1)
prt(1,2)
prt(1,b=2)
prt(a=1)
1 3
1 2
1 2
1 3