python基本语法笔记(完结)

1.python的文件类型有三种分别是源代码,字节代码和优化代码,源代码扩展名是py,python语言的代码可以不需要编译成二进制代码直接运行源代码;字节代码扩展名是pyc,是编译过的字节文件,具有平台无关性;经过优化的源文件生成扩展名为pyo的文件。pyc和pyo文件都不能通过文本编辑工具打开和修改。

2.python使用冒号和代码缩进来区分代码的层次,最佳的代码缩进长度是4个空格。当程序出现错误的时候有可能就是因为代码缩进出现了错误

3.模块导入有两种方式,

第一种是import 语句导入模块中的所有,,

import  sys

print sys.path

第二种是from。。import。。语句导入模块中的一部分

from sys import path

print path

4.python 中的分号可以省略,使用换行来识别语句的结束。要在一行中写多条语句就必须要使用分号分隔开,分号不是python推荐的使用的语句结束的符号,最好是直接换行结束语句

5.一条语句写在多行

string="shixiaotian\

xiaoningyuan\

love"或者

string="shixiaotian"\

"xiaoningyuan"\

"love"

6.变量名可以是字母数字下划线的组合 但是首字符必须是字母和下划线

7.p'ython中的变量不需要声明,变量的赋值就是声明和定义的过程,可以给多个变量同时赋值(x,y,z)=(1,2,3)

8.python创建的变量就是一个对象,python会管理变量的生命周期,对变量的回收采用的也是垃圾回收机制

9.定义了全局变量之后,引用全局变量要使用global关键字 之前定义了一个全局变量a=2,现在需要引用和修改 global a=3

10.python中并没有定义常量的关键字,但是可以自己实现

class _const:

    class constError(TypeError):pass

    def __setattr__(self,name,value):

        if self.__dict__.has_key(name):

            raise self.constError,"can not rebind const"

        self.__dict__[name]=value

import sys

sys.modules[_name_]=_const()     最后这两行的意思是将const注册到sys.modules这个全局字典中

定义一个常量:

import const

const.magic=20

11.数据类型包括数字,字符串,元组,列表和字典

12.数字类型和java基本一样,还特殊支持复数7+8j。python中的浮点型只有双精度

13.在python中所有的变量其实都是对象,如下定义的变量a,修改a的时候其实本质是又定义了一个变量

a=10

print a

a=20

print a

14.python中标识字符串类型的方式有三种,单引号,双引号,三引号。单引号和双引号的作用是一样的,三引号比较厉害了,三引号中可以出入单引号,双引号和换行符。三引号还能制作文档字符串,python中每一个对象都有一个__doc__属性,这个属性用来描述对象的作用

class  hello:

    '''hello class'''

    def printhello(self):

        '''''print hello class'''

        print "this is hello class"

print hello.__doc__                          

print hello.printhello.__doc__

15.特殊符号的输出需要转移字符print ' he\'s  apple',但是使用双引号和三引号可以直接输出含有特殊字符的字符串不需要使用转义符print '''he's apple'''

16.python 中运算符使用和java一样,特殊的幂运算2的三次幂,2**3

17.python中的关系运算也和java一样,但是类似12<=a<=18也是支持的

18.python的逻辑运算使用and,or,not

19.运算的优先级肯定是算术运算大于关系运算大于逻辑运算

20.python中的控制台输入有两种,input()和raw_input(),前者支持输入数字和表达式不支持字符串,后者捕获用户的原始输入,返回的是字符串,输入的是数字返回的还是字符串,需要用int()转换成数字。括号中用来显示输入时候的提示信息。

x=input("x=")

print x

y=raw_input(''x='')

print y

numbers=raw_input(''输入5个数字用逗号隔开: '').spilt(",")

print numbers

21.python中的if语句和java很相似,但是条件语句中并没有switch语句,可以用字典来实现,但是并不推荐这种做法。

22.while..else..循环语句,当条件真的时候执行while循环内部的片段,当条件不成立之后执行else中的片段

23.range函数返回一个递增或者递减的数字列表,range(5,-1,-1)返回一个列表[5,4,3,2,1,0],最后一个参数是步长,默认是1。和range相比和有xrange,基本用法和参数是一样的,不同的是,range直接返回一个列表,但是xrange返回的是一个xrange对象,通过对象得到各个值。

x=xrange(0,10)

print x      结果是xrange(10)

print  x[0]     0

print  x[5]      5

24.for...in...循环语句,for x in range(1,10)  也有for...in....else..语句和22中的意义一样

25.break的含义和java中相同,continue也和java相同

26.python内置的数据结构有四种,元组,列表,字典和序列

27.元组创建的时候多有元素包含在一对圆括号中,,创建的时候可以不指定元素的个数,相当于不定长数组,但一旦创建之后就不能修改元组的长度。test=("aaa","bbb","ccc","dddd"),当一个元组只有一个元素的时候test=("aaa",)不要忘了那个逗号,要不然python解释器无法识别这个元组,以为是一个表达式。空元组test=()。元组的索引是从0开始的,因此获取元组的一个元素的时候为test[0],依此类推,其他的数据结构也是同样的。元组创建之后元素的值是不能修改的,也不能添加或者删除元素。

28.python中有两个索引的特殊用法,负数索引和分片索引。

29.负数索引从元组的尾部开始计数,最后一个元素的索引是-1,倒数第二个是-2,test[-1],test[-2]

30.分片索引格式为test[a:b],意思是a到b之间的元素,包含a,不包含b。a,b可以是0,正整数或者负整数。test[1:5]输出从第二个到第五个元素组成的元组,test[1:-1]那就是第二个元素到倒数第二个元素

31.二元元组,test((a,b),(c,d))访问的时候test[x][y],可以理解成是二维数组

32.元组的创建过程叫做打包,还可以执行解包,将元组的各个元素分别赋值给多个变量a,b,c,d=(1,2,3,4)

33.对二元元组的遍历小代码:

test=((''a'',''b''),(''aa'',''bb''),(''aaa'',''bbb''),(''aaaa'',''bbbb''))

for i in range(len(test)):

    print ''test[%d]: ''% i,

    for j in range(len(test[i])):

        print test[i][j]

    print

34.列表是很重要的一种数据类型,通常作为函数的返回类型,列表和元组相似,也是一组元素形成,但是列表可以添加删除和查找操作,元素的值可以被修改。

35.列表的创建,test[''a'',''aa'',''aaa''],列表的添加使用append(object),添加新元素到列表的尾部,添加的对象可以是元组,列表,字典或任何对象,列表的删除调用remove(value),删除value元素,如果元素不存在将出现异常。

test[''a'',''aa'',''aaa'']

test.append(''b'')

test.insert(1,''bb'')  在指定的位置添加元素,此处索引是1,就是第二个元素的位置

test.remove(''a'')

print test.pop(0)   弹出第一个元素,并返回这个元素,输出a

36.remove删除列表中的元素的时候,如果该元素有多个,那么只能删除位置靠前的那一个

37.列表的使用和元组的使用很相似,同样支持负数索引,分片索引,多元列表等特性,但是列表的元素是能修改的,有一个处理列表的方法。

38.列表的连接,一种是调用extend()连接两个不同的列表,另一种是使用运算符+或者+=。

list1=[''a'',''b'']

list2=[''c'',''d'']

list1=list1+list2    

list1.extend(list2)

list2+=[''cccc'']*2    连接了两个同样的列表

39.list.index(value)返回value元素在列表中的位置,list.sort()对列表进行排序,默认是首字母升序,降序为sort(reverse=True),list.reverse()实现序列的颠倒

40.字典是一系列键值对组成的集合,用逗号隔开,包含在一堆大括号中test={"a":"shixiaotian","b":"xiaoningyuan"}。字典元素的value值可以是很多数据类型,还可以是元组,列表和字典等。字典的访问test[''a''],创建一个空的字典就是test={}。代码中书写的字典的中元素的顺序并不是实际存储的顺序,字典将更具元素的hashcode值进行存储。字典的键是区分大小写的,同时还可以采用数字作为键。

41.print输出字典,print ''%s,%(a)s,%(b)s''% {''a'':''apple'',''b'',''banana''}。最后输出的结果是{''a'':''apple'',''b'',''banana''},apple,banana。在代码中%s输出字典原型内容,%(a)s输出字典中对应的key值a的value,下一个同理。

42.

haha={a':'shixiaotian','b':'xiaoningyuan'}
haha['love']='ilovoyou'    创建一个元素
print haha                      输出三个元素的字典
del(haha['love'])             删除对应的元素
print haha
print haha.pop('a')        删除一个指定元素
print haha
haha.clear()                 清空字典

43.字典的遍历

haha={'a':'shixiaotian','b':'xiaoningyuan','love':'ILoveYou'}
for k in haha:
print '%s,%s'%( k ,haha[k])

#输出结果是 a,shixiaotian
# b,xiaoningyuan
# love,ILoveYou

print haha.items()                            #输出了一个列表,列表元素为元组 [('a', 'shixiaotian'), ('b', 'xiaoningyuan'), ('love', 'ILoveYou')]
for k,v in haha.items():
print '%s,%s'% (k,v)     输出结果和上面的循环输出一样


print haha.iteritems()        #这三行返回的结果是一样的,都是返回了字典的遍历器对象,
print haha.iterkeys()          #具体的遍历方式是如下
print haha.itervalues()      #<dictionary-itemiterator object at 0x0000000002D89EA8>

for k,v in haha.iteritems():
print '%s,%s' % (k,v)
for k,v in zip(haha.iterkeys(),haha.itervalues()):
print '%s,%s' % (k, v)        上面两个循环返回的结果是一样的

44.字典的方法dict.keys()返回字典的key组成的列表,dict.values()返回字典value组成的列表,dict.get('c','apple')访问字典中的元素,如果key值为c的元素存在,那么直接返回其value值,如果不存在返回预设值apple。dict1.setdefault('a','mm')给字典添加一个元素&

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值