python(笨办法学Python)
ex0
需要准备什么?
0、下载并按照python 2 。为什么用2,而不用3?因为我用的教材是基于python2的。
1、安装Notepad++文本编辑器【下载地址: http:// notepad-plus-plus.org 】
为什么要安装Notepad++?而不用IDLE?这是因为Notepad++编辑器有分栏,方便查看。
2、运行PowerShell,并给它设置快捷键。
怎么运行PowerShell?win10的朋友可以使用键盘的Windows+x调出运行,然后在运行里输入“powershell”点击确定就可以出来了。
powershell的对话框出来之后,我们找到任务栏上powershell的图标,然后右键将powershell固定在任务栏,下次启动就不用这么麻烦了。
3、尝试在powershell中运行python:
打开powershell →输入:‘python’→回车。【#现在你就相当于在界面操作中打开python了】
(按下回车之后,python没有被识别?怎么办?这时候你需要在powershell下输入并执行这个命令:[Environment]::SetEnvironmemtVariable)
ex1
“hello world”
用Notepad++编辑好代码,然后使用终端(powershell)运行Python,键入没出错的话,最大问题的报错应该是“can't open file 'ex1.py”:[ Errno 2] No such file or directory。 解决方法,→更改powershell的当前路径,在powershell中输入cd “存放ex1的路径”。再重复打开动作,然后就可以在powershell中使用Python 打开ex1了。
在“第一个程序”的练习题中,有个问题是问“#”的作用,在后面的习题中有解释。
ex2
在Python中,带“#”的语句会被Python忽略,不参与Python的运算。
但是在print后面有“”的语句里面出现的“#”在运行中是会显示的,因为在“”里面“#”是字符串里面的一个普通字符。
ex3
计算 要注意“%”的使用,此符号表示求余数,意思是“X除以Y余J”,J既为该运算返回的数。例如“5%2”表情“5除以2等于2余1” 1就是“5%2”的结果。
ex4
用中文给每行代码做注释,直接运行会出现这样的问题:
SyntaxError:Non-ASCII character '\xe6' in file ex4.py on line 1.
解决方法:在开头输入:"#encoding:UTF-8"
ex5
%
ex6
%r 用来显示变量的原始数据,也就是说%r中显示的将是变量等号后面的全部内容
%s 显示的是等号后面引号中的内容,不包括引号
w和e用+连接生成更长的连接,这是字符串的拼接
例:>>>print 5 + 8
返回结果是:13
>>>print "5" + "8"
返回的结果是:58
后面的例子就是字符串的拼接
ex7
print "."×10 表示吧"."打印十次
最后两行,注意“,”的使用,有逗号,那么两行打印出来的是在同一行。如果没有逗号,那么打印出来的是分开两行的。
ex8
最后一行打印有双引号有单引号,那是因为第十行代码中"But I didn't sing"里面有单引号,为了避免混淆,所以打印出来的时候,这个字符段使用了双引号打印。
ex9
关于'' 、"" 、""" """ 的使用习惯养成
'' 一般用于短语句,比如只有一个词的
"" 一般用于中语句,比如有两个以上单词的
""" 一般用于长语句中,比如一段话
\n 换行号
ex10
转义字符 功能
\\ 反斜杠(\)#打印出来为反斜杠
\' 单引号(')#打印出来的是是单引号
\" 双引号(")#打印出来的是双引号【根据字符串整体适用单、双引号】
\a ASCII 响铃符(BEL)#
\b ASCII 退格符(BS)#
\f ASCII 退纸符(FF)#
\n ASCII 换行符(LF)#换行,此字符后面的换行输出
\N{name} Unicode 数据库中的字符名,其中name是它的名字,仅适用于Unicode #
\r ASCII 回车符 #
\t ASCII 水平制表符 #相当于使用了 TAB键
\uxxxx 值为16位十六进制值xxxx的字符(仅适用于Unicode)#
\Uxxxxxxxx 值为32位十六进制值xxxxxxxx的字符(仅适用Unicode)#
\v ASCII垂直制表符(VT)#
\ooo 值为八进制值ooo的字符 #
\xhh 值为十六进制数hh的字符 #
while True 练习,%s用%r替换,打印结果不同!
ex11
print后面加(,)和不加(,)的区别:
加了逗号输入的光标在问题的后面
不加逗号输入的光标将会自动换行
第8行的print中如果用%s代替%r
input()和raw_input的区别:
input()会把输入当成Python的代码进行处理,所以用input来获取输入的话,会出现报错
raw_input()的输入就当成字符串了,就是,你输入什么它就显示什么
ex12
????
ex13
argv 参数 在执行命令时就要输入,就是要先输入才可以继续执行命令
raw_input 在执行命令中需要输入,执行-输入-执行
ex14
argv 命令行参数,参数向量
script 脚本
prompt 提示
ex15
#encoding:utf-8
#从系统文件输入参数
from sys import argv
#脚本,文件名参数,表示python需要打开的文件
script, filename = argv
#txt 赋值为文件名
txt = open(filename)
#打印字符串
print "Here's your file %r:" % filename
#阅读txt文件
print txt.read ()
#打印字符串
print "Type the filename again:"
#赋值为文件名
file_again = raw_input(">")
#对文件执行open命令
txt_again = open(file_again)
#执行命令并打印
print txt_again.read()
附加联系6
python -m pydoc file【Windows 要用这个命令打开】
ex16
先擦除文件内容,然后再编写文件
close--关闭文件
read--读取文件内容
readline--读取文本文件中的一行
truncate--清空文件
write(stuff)--将stuff写入文件
ex17
os.path.exists(path) #路径存在则返回True,路径损坏返回False
len 返回文本串的字符数
out_file.close() 对目标文件进行关闭保存
out_file = open(to_file, 'w') 'w'表示to_file的打开方式
"w" 写入
"r" 读取
"a" 追加
ex18
def(define)使用def命令创建一个函数。后面紧跟函数名。
*args 的*表示告诉Python把函数的所有参数都接收进来,然后放到名叫args的列表中去。