1.输入和输出
input读取的是字符串,括号内的为提示信息,可有可无
_ 表示最后一个表达式的值
Python不需要像其他语言那样要 ; 号结束语句
格式化与C一致,%d %f %s %x(十六进制整数) %%(%)
end默认“\n”换行 ” “为不换行
1 for i in range(10):2 print(i,end=" ") #输出:0 1 2 3 4 5 6 7 8 9
输出重定向
1 f = open('F:\mylog.txt','a') #在F盘下新建一个文本文件,以追加的形式
2 print('1234567890',file=f)3 f.close() #打开必须关闭
2.变量
Python 中的变量赋值不需要类型声明(动态语言)。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
Python中赋值是将对象的引用(并不是值)赋值给变量
1 x = 3 #创建一个整型对象并将其引用赋给x,该对象引用为1
2 y = x #对象3的引用+1,x和y同时指向3
3 del obj #删除对象的一个引用,记数为0则被回收
Python允许你同时为多个变量赋值。例如:
a = b = c = 99
1 x = 1
2 y = (x=x+1) #赋值语句不是合法表达式
3 y=x=x+1 #链式赋值没问题
不支持自增自减,但支持n*=10
3.变量作用域
Python的作用域一共有4种:
L(Local)局部作用域
E(Enclosing)闭包函数外的函数中
G(Global)全局作用域
B(Built-in)内建作用域
以L->E->G->B的规则查找(局部找不到,便去局部外的局部,再找不到就会去全局找,全局找不到去内建找)
1 x = int(2,9) #内建作用域
2 g_count = 0 #全局作用域
3 defouter():4 o_count = 1 #闭包函数外的函数中
5 definner():6 i_count = 2 #局部作用域
4.global和nonlocal关键字
当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字
1 num = 1
2 deffun1():3 globalnum4 print(num) #1
5 num = 123
6 print(num) #123
7
8 print(fun1())9 print(num) #123
如要修改嵌套作用域中的变量则用nonlocal
1 defouter():2 num = 10
3 definner():4 nonlocal num5 num = 100
6 print(num) #100
7 inner()8 print(num) #100
9
10 a =outer()11
12 if '__name__'=='__main__':13 a()
5.多行书写
一行过长的语句可以用反斜杆(\)分解成几行
1 for i in\2 range(10):3 print(i,end="") #0123456789
三引号包括下的字符串也可跨行书写''' '''
分号(;)允许将多个语句写在同一行上,语句之间用分号隔开