疯狂的 python-网易课堂-笔记
1、python 文件类型
1、源代码 :“*.py”
2、字节代码:"*.pyc"
方法:import py_compile
py_compile.compile("hello.py")
3、优化代码:"*.pyo"
python -O -m py_compile hello.py
2、运算符和表达式
实数除法运算符/:被除数和除数都为整数,得数自动调整为取整,例如 3/2 得 1;若想得
到 1.5,你就必须将被除数调整为小数,3.0/2 得 1.5
整数除法运算符//:即便你给的是小数的话得数还是整数,例如 3.0//2 得 1.0
求余运算符%:例如 17%6 得 5
求幂运算符**:例如 2**3 得 8
关系运算符:<、>、<=、>=、!=、==
小于、大于、小于等于、大于等于、不等于、完全等于
逻辑运算符:and、or、not
raw_input('please input a number:')
3、数字或字符串类型
数据类型:
1、整数 int:-2147483648 到 2147483647
2、长整型 long:为了区别这两个区别,可以数字后面加 L 或 l
3、浮点型,小数:f1=12.0 type(f1),返回的就是 float
4、字符串:‘’、“”、""""""、单引号,双引号,三引号 ,通过索引操作字符串单个字符:
a='abcde'
a[0]
#返回的就是字母 a,从 0 开始索引
4、字符串的切片:
a[1:4]
a[4:]
#返回 bcd
#返回 e
a[:4]
a[::1]
#返回 abcd
#第一个参数开始位置,第二个结束位置,第三个参数就是步长
值,为 1 步一取,返回 abcde
a[::2]
a[-1]
a[-4:-1]
#返回 ace
#起始值还可以是负数,代表从后面开始取,那么这里返回为 e
#返回 bcd
4、元祖,用[]表示
序列
列表、元祖和字符串都是序列
序列的两个主要特点就是索引操作符和切片操作符
索引也可以用负数,负 1 代表从最后一个数
序列的基本操作:
1、len()
2、+
3、*
4、in
5、max()
6、min()
7、cmp(,)
返回最大的值
返回最小的值
求序列的长度
链接 2 个序列
重复序列元素,例如 str1*5
判断元素是否在序列中,‘c’ in str1,not in
比较 2 个序列是否一样,一样就返回 0,
元祖,定义元祖,以逗号分隔,元素与元素类型可以不一样,可以是任意类型,采用了就布
恩那个变化。
t=("milo",30,"male")
返回 milo
t[0]
空元祖
t1=()
t2=(2,)
一个单一值,必须打个逗号才表明这个是个元祖,否则只是一个整数
元祖的切片:
也可以直接将元祖赋予 3 个变量,
name,age,gender=t
返回( milo,30)
t[0:2]
5、列表,用()表示
list 是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。
列表是可变类型的数据
列表的组成:用[]表示列表,包含了多个以逗号分隔开的数字,或者字串。
一 List1=['Simon','David',’Clotho',’张三’]
一 List2=[1,2,3,4,5]
一 List3=["st r 1 ","st r2 ","st r3","st r4","st r5"]
列表与元祖的的赋值和取值都是差不多,唯一区别在,如果列表只有一个元素,就可以不打
逗号,例如 list5=[‘abc’],这里只定义了一个元素的列表五变量;列表的值是可以变的。
列表的操作
取值
添加
删除
list.append()
del(list[])
list.remove(list[])
list.remove('abc')
修改
查找
list[]=x
var in list
7、字典,用{}表示
Disc={0:0:1,1:2,2}
Disk={‘name’:’wang’,’age’:30,’gender’:’male’}
组与组用逗号分隔,组员用冒号分隔,取值的话如果 key 用字符串定义的,那就必须用字符
串来表示,如上面例子二,取值就只有这样取 disk[‘age’]
遍历字典
for k in dic1:
...
…
print k
print dic1[k]
#打印字典中的 key
#打印字典的值
操作字典方法
内建的 update()方法可以将整个字典的内容拷贝到另一个字典中;
#直接给字典增加值,增加的值不定在字典里哪个位置中,或者直
删除整个字典
#将字典里的值弹出,也就是说把它删除掉
#将字典清空这个是内容清空,只是一个空字典
#删除字典
#返回字典的键值
#返回字典所有值的列表
删除键为 a 的元素
dict1['tel']='12345678'
接修改包含这个 key 的值
del dict1['a']
dict1.clear() 删除所有元素
del dict1
dic1.pop('age')
dic1.clear()
del(dic1)
dict.keys()
dict.values()
8、if 语句
if expression:
statement(s)
elif expression2:
statement(s)
else:
statement(s)
9、for 语句
for x in 'abcd':
print x,'hello world'
for x in [0,1,2,3,4,5,7]:
print x
fruits=['banana','apple',mango']
for index in range(len(fruits)):
print 'current fruit:',fruits[index]
print 'good bye'
range(i)
range(10)
range(起始值,终止值不包括的,步长)
#生成 i 个序列
#[0,1,2,3,4,5,6,7,8,9]
for x in range(100):
print x,'hello world'
for 循环的迭代遍历例子
for x in ''hello':
print x
#每个元素单独取出来
fruits=['apples','bananas','pears']
for index in range(len(fruits)):
print 'There are some friuits:',fruits[index]
print 'Good bye!'
遍历字典
d={1:111,2:222,5:555,3:333}
for x in d:
print x
for x in d:
#这里取出的是字典中的 key
print d[x]
print d.items()
for k,v in d.items():
#这里取出的字典中的值
#返回一个字典的大元组
print k
print v
#分别返回
1
111
2
222
3
333
5
555
退出 For 语句采用 break
For 语句中,跳出当次循环,也就是不执行下面的语句,直
接跳到下一个循环中,采用 continue
10.跳出整个程序,不执行了,采用 exit()语句
11.while 循环
x=''
while x != 'q':
print 'hello'
x=raw_input('please input something q for quit:')
#死循环状态。。。只有通过 ctrl+c 终止了
#当输入为字母 q 时退出循
环
else:
if not x:
break
#当你什么也不输入直接回车,也是要退出该循环的
print "ending"
#wile 正常执行就会执行到这里代表正常语句结束
12.函数的定义
def 函数名(参数列表)
def fun():
if True:
print "good"
缺省参数的定义
def machine(x,y='奶油'):
print '制作出一个',x,'元',y,'口味的冰激凌'
#设置了 2 个参数的值
#设置了价钱,奶油味的冰激凌
machine(5,'巧克力')
machine(6)
注意:设置的时候默认参数必须是自右向左进行设置,也就是说,这么如下设置是语法错误
的
def machine(x=3,y),因为,左边有默认参数,但是右边起却没有,这样的设置是不正
确的,简单点,如果函数中只要有一个设置了默认参数,那么其他的参数都设置好,或者,
只设置最右边的出现默认参数
python 中文如何使用
,将下面的代码粘贴到一个 py 文件中,然后执行,每个中文字符串都要打个 u 字母开头
#coding:utf-8
def machine(x=3,y=u'巧克力'):
#定义了两个形参,都有默认值
print u'生成了一个',x,u'元',y,u'口味的冰激凌!'
machine(y=u'奶油')
#使用时候,这里只修改了第二个形参的默认值