Python3从入门到放弃
最后更新时间:2017-09-25 03:05
目录:
第一章:Hello World
第二章:输入和输出
附录:常用的Python内置函数
第一章:Hello World
任何语言都开始,都是以hello world开始的。
同样的,今天我们 也以Hello world作为开始来学习python3语言。
print("Hello, World!");
可以看到,以上代码输出来hello world。
由于刚开始,没有做好做准备。所以这次将就用txt来看。以后会使用pdf的格式来上传到群。
第二章:输入和输出
1、输出print()
用print()
在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出’hello, world’,用代码实现如下:
>>>print("Hello, World!");
Hello, World!
注意,Python2和Python的输出方法是不一样的!
print()
函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
>>>print("Hello","World!");
Hello World!
注意,使用逗号会在之间生成一个空格
print()
也可以打印整数,或者计算结果:
>>>print( 1 )
1
>>>print( 1 + 1 )
2
>>>print( "1 + 1" )
1 + 1
所以我们想要输入1+1= 2
可以这样写
>>>print("1+1=",1+1)
1+1=2
因为1+1=
被视为字符串,所以解析器按照字符串的公式进行打印,后面的1+1
被解析为公示,所以打印结果为1+1= 2
输入字符串到变量可以使用input()
,比如
name = input('请输入你的名字,以回车键结束')
print(name)
可以看到,系统等待输入用户输入,并且提示相应的汉字。
联系到上面的教程,我们可以写出一下程序:
name = input('请输入你的名字,以回车键结束:')
print(name,"是猪",end=",哈哈哈",sep='真的')
可以看到,当你输入你的名字的时候,程序会提示:某某真的是猪,哈哈哈
。
可以看到,sep的作用是设置print的间隔符,默认为空格。end的作用是设置print以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
接下来说的是print中的file参数
name = input('请输入你的名字,以回车键结束:')
print(name,"是猪",end=",哈哈哈",sep='真的', file=open('c:\out.txt','w'))
可以看到,上面代码多了file=open('c:\out.txt','w')
这个参数,意思是把print()
要输出的内容输出到’c:\out.txt’这个文件,并且不显示在屏幕上。
如果需要输出屏幕,可以使用
import sys
name = input('请输入你的名字,以回车键结束')
print(name,"是猪",end=",哈哈哈",sep='真的', file=sys.stdout)
可以看出来,我们用sys.stdout
重定向输出到屏幕
事实上,我们使用print()函数就是在调用sys.stdout.write()函数
python3没有row_input()这个函数
为保证良好的编程习惯,open一般对应close,网上做过测试:在python里,open返回的是一个类似C++里智能指针的东西,这样就做到了handle释放时关闭文件句柄;不过从编程规范上来说,还是主动调用close来关闭文件句柄吧。
第N章:模块
1、系统内置模块
2、第三方模块
3、自定义模块
有时候,系统内置模块和第三方模块都解决不了我们的问题,我们可以自己编写第三方模块,然后通过import来引入
Ⅰ、特殊变量name
#这个命名为a.py
import b
#这个命名为b.py
import sys, os
if __name__=='__main__':
print('当前是直接执行文件:',__file__)
else:
print('当前是被调用的模块文件,调用的主文件是:',sys.argv[0][sys.argv[0].rfind(os.sep)+1:])
可以看到,调用a.py时,显示的是当前是被调用的模块文件,调用的主文件是: a.py
调用b.py时,显示的是当前是直接执行文件: C:\Users\Administrator\b.py
Ⅱ、调用函数
写了函数,当然要想办法调用了,下面是调用模块中函数的例子
#这个命名为a.py
import b
b.func()
import sys, os
def func():
print("调用b.py中的func")
可以看到,执行了a.py后,系统提示调用b.py中的func
Ⅲ、模块的封装与抽象
如果不熟悉封装与己抽象的概念,可以忽略这一段。
在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。所以一般的编程习惯是定义 _ 作为前缀的变量为私有函数或变量,也就是告诉别人,private函数和变量是“不公开的”,“不应该”被直接引用的。
#这个命名为a.py
import b
b.publicFunc(1)
b.publicFunc(10000)
import sys, os
def _func1(argu):
print("调用b.py中的_func1,参数为:",argu)
def _func2(argu):
print("调用b.py中的_func2,参数为:",argu)
def publicFunc(ID):
if( ID <9999 ):
_func1(ID)
else:
_func2(ID)
调用a.py,可以看到控制台输出:
调用b.py中的_func1,参数为: 1
调用b.py中的_func2,参数为: 10000
也就是说,publicFunc根据不同的ID,调用了不同的函数。这也是一种非常有用的代码封装和抽象的方法。
附录一:常用的Python内置函数
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
open
open(name[, mode[, buffering]])
参数说明:
name : 一个包含了你要访问的文件名称的字符串值。
mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
P
print
print(*objects, sep=' ', end='\n', file=sys.stdout)
参数说明:
objects
sep
end
file
Q
R
S
T
U
V
W
S
Y
Z