Python学习笔记
前言:
从2016/05/15开始学习Python了,目标是两个半月做到基本入门掌握,然后开始深入学习爬虫等数据分析技术,目标实现对个人中转发的微博的视频通过Python来实现自动下载。
Python通过缩进来实现代码分块,本文中所有均使用的是tab键来缩进
不同的缩进模块之间最好用空格分隔开,保证代码的可读性
零、一些小东西
1. print ‘test' 会默认打印换行,如果不想换行可以在语句后添加个英文逗号来消除换行。 print 'test',
2.python语句可以添加分号作为结束符号,也可以不添加使用,但是在一行写多条语句时必须添加。不建议使用分号。
3.行首的缩进是必须的,有相同缩进的语句称为一个块。不能使用tab和空格的混合缩进,可能会导致跨平台有问题,后续所有的缩进均为tab键
一、基本简介
1.1.数
1.2. 单引号,双引号,三引号
单引号和双引号应用方式完全一样,保留 字符串中的空格和tab键
1.3.转义符
在行末的一个单独的反斜杠转义字符不是表示转义,而是表示字符串在下一行继续,而不是一个新的行。
1.4自然字符串
1.5 Unicode 字符串
1.6字符串连接
1.7基本运算
~ 按位翻转 x的按位翻转是-(x+1)
二、表达式,流程控制
2.1 If-else 语句
#!/usr/bin/python
str1 = 1
if str1 == 2 :
print "it is true"
else:
print " it is false"
2.2 while 语句
#!/usr/bin/python
# filname : while.py
num = 1
while num <= 5:
print "number is : ",num
if num == 3:
print "num is equal 3"
else:
print "num is not equal 3"
num = num + 1
print "the while loop is done"
2.3 for 循环
#!/usr/bin/python
#filename : for.py
for i in range(0,6):
print i
for j in [0,1,2,4]:
print j
for m in range(0,7,2):
print m
2.4 break语句和continue语句
三、函数 function
3.1定义函数:关键字 def
#!/usr/bin/python
# Filename: func_local.py
def func(y):
global x
print 'x is : ', x
x = 2
print 'Changed local x to', x
x = 50
del func
func(x)
print 'x is still', x
print dir()
3.2局部变量
#!/usr/bin/python
# Filename: func_local.py
def func(x):
print 'x is', x
x = 2
print 'Changed local x to', x
x = 50
func(x)
print 'x is still', x
x is still 50
3.4默认参数值
#!/usr/bin/python
def func(x,y=5)
area = x * y
print 'area is : ', area
func(2)
func(3,8)
3.5 关键参数
#!/urs/bin/python
#filename : func_key.py
def func(a,b=5,c=10)
print 'a is ',a , 'b is ',b , 'c is' , c
func (3,7)
func (a=10,b=109)
func(c=100,a=12,b=23)
3.6 return 语句
3.7 DocStrings
# Filename: func_doc.py
def printMax(x, y):
'''Prints the maximum of two numbers.
The two values must be integers.'''
x = int(x) # convert to integers, if possible
y = int(y)
if x > y:
print x, 'is maximum'
else:
print y, 'is maximum'
printMax(3, 5)
print printMax.__doc__
四、模块
4.1模块简介
每个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名。模块可以由两个语句和一个重要的内置函数进行处理。
import: 使客户端(导入者)以一个整体获取一个模块。###导入模块时,不带模块的后缀名,比如.py,确定下导入的规则。
4.2 .pyc文件
用内置模块py_compile编译即可,完成后再文件目录下生成同名的.pyc文件,linux下使用file file名称可以看到文件属性为python编译的文件
>>>import py_compile
>>>py_compile.compile("file")
4.3 dir()函数
使用dir()函数来列出模块中定义的标识符的名称,标识符有函数,变量和类
如dir(sys)列出sys模块中的标识符名称。不带参数的空函数dir()列出当前模块的标识符名称。比如在模块中使用 print dir()即可打印出模块中的标识符。
4.4 列表
python中使用del来删除变量/名称/函数。
列表 list_test = ['apple','mango','carrot']
list_test.append('rice')给列表中添加值
list_test.sort() 给列表排序
4.5 元组
4.6 print语法
4.7 字典
#!/usr/bin/python
#filename : using_dict.py
#b = {key1:value1,key2:value2}
#abc= {'key3':'value3','key4':'value4'}
#print "key1's value is %s"%ab[key1]
#print "key3's value is %s"%abc['key3']
ab = {'Swaroop':'swaroopch@byteofpython.info',
'Larry':'larry@wall.org',
'Matsumoto':'matz@ruby-lang.org',
'Spammer':'spammer@hotmail.com'
}
print "Swaroop's address is %s"%ab["Swaroop"]
ab["Guido"] = "guido@python.org"
del ab["Spammer"]
print "\nThere are %d contacts in the address-book\n"%len(ab)
<strong>for name,address in ab.items(): #调用了键值对的items方法,返回键值对2元组(键和值)</strong>
<strong style="font-size: 14.4px; font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre"> </span><span></span></strong><pre name="code" class="python" style="font-size: 14.4px; display: inline !important;">print "Contact%s at %s"%(name,address)<span style="white-space:pre"> </span>
<span></span><pre name="code" class="python" style="font-size: 14.4px; display: inline !important;"><span style="font-size: 14.4px; font-family: Arial, Helvetica, sans-serif;">#分别赋值给name和address<span> </span></span>
if "Guido" in ab:
print"\nGuido's addressis %s"%ab["Guido"]
4.8序列
4.9引用
#!/usr/bin/python
#filename :reference.py
shoplist = ["apple","mango","carrot","banana"]
mylist = shoplist
print "shoplist is :",shoplist
print "mylist is :",mylist
#shoplist is : ['apple', 'mango', 'carrot', 'banana']
#mylist is : ['apple', 'mango', 'carrot', 'banana']
del shoplist[0]
print "shoplist is :",shoplist
print "mylist is :",mylist
#shoplist is : ['mango', 'carrot', 'banana']
#mylist is : ['mango', 'carrot', 'banana']
print "copy by making a full slice"
mylist = shoplist[:]
del mylist[0]
print "shoplist is :",shoplist
print "mylist is :",mylist
#shoplist is : ['mango', 'carrot', 'banana']
#mylist is : ['carrot', 'banana']