Python的简单语法(下)

Python的列表和元组

其实就是数组,但它可以保存任意类型的Python对象,都还是从索引0开始。但还是有所不同的。列表元素用[]包括,元素的内容及个数可变,这个和C#的链表很像呐!而元组元素用()包括,不可更改,但其内容可以。元组相当于是只读列表,可通过[:]和[]得到其子集,下面是具体用法:

  • 列表用法
list=[1,2,3,4,5,6]
list    输出[1,2,3,4,5,6]
list[0] 输出1
list[2:]从下标为2的地方开始输出[3,4,5,6]
list[:2]输出前两个[1,2],这种语法很好玩啊
list[0]=7
list[0] 输出7
list    输出[7,2,3,4,5,6]
  • 元组用法
list=('zhangsan','lisi',2,'nihao')
list    输出('zhangsan','lisi',2,'nihao')
lsit[:2]输出前两个('zhangsan','lisi')
list[0] 输出'zhangsan'
list[0]=d就会报错,不能修改其值

Python字典

Python的字典是key-value结构,其元素是用{}包括,其具体用法如下:

dict={'Ip':'192.158.3.3','port':8888}
dict           输出{'Ip': '192.158.3.3', 'port': 8888}
dict.keys()    输出dict_keys(['Ip', 'port'])
dict.values()  输出dict_values(['192.158.3.3', 8888])
dict['Ip']     输出'192.158.3.3'

Python使用缩进而不是{}

这一点确实是有点不便呐!因为之前都是用{},但使用缩进代替大括号的感觉也还好吧!

Python的控制结构

  • if语句
    if(1==3):
      print 'OK'
    else:
      print 'NO'
    输出的结果是NO,因为1不等于3嘛!在这里要注意的是,Python的代码并没有用{}括起来,这要和C#区分开来。
  • while循环
    i=0
    while(i!=5):
      print i
      i+=1
    这段代码的输出结果就是0,1,2,3,4。这和其他语言是一样的,没有什么不同,只是代码没有用大括号包括起来而已。
  • for循环
    Python的for循环和c#中的for循环是不一样的,而是和C#的foreach相似。
    list=[1,3,34,45,46456,6,768,7,8,98]
    for item in list:
      print item
    输出结果如下
    1
    3
    34
    45
    46456
    6
    768
    7
    8
    98
    输出结果就是把list的各个元素依次输出。这个有一个神奇的地方在于如果在print 后面加一个逗号的话,输出的结果就会在一行了。
    list=[1,3,34,45,46456,6,768,7,8,98]
    for item in list:
      print item,
    输出结果如下
    1 3 34 45 46456 6 768 7 8 98
    造成这个结果的唯一不同就只是因为一个逗号,是不是蛮神奇的?不过,如果你想实现这个功能的话,也是蛮简单的,可以试试。

    Python那些神奇的函数

  • 神奇的range()函数
    这个函数以前玩过,但好久不见,现在差不多已经忘记了。这个函数可以生成一个数值范围,比如说传个3,它就会生成0,1,2。同样传个5,它就会生成0,1,2,3,4。是不是很方便呢?
for item in range(5):
    print item,
输出结果如下
0 1 2 3 4
  • 返回对象长度或个数的len()函数
print(len(range(5)))
输出的结果就是:5
  • 神奇的enumerate()函数
list=[1,345,657,68,4,980,9,-0,7]
for index,value in enumerate(list):
    print index,value
这个的输出结果是:
0 1
1 345
2 657
3 68
4 4
5 980
6 9
7 0
8 7

这个函数即可循环索引,又可循环元素,是不是很神奇呐!

列表解析

说实话这“列表解析”四个字,我刚看的时候是真不理解啊!但看完示例后,感觉这个解析好有趣。下面是具体例子,看一眼就明白啥意思了。

squared=[ x ** 2 for x in range(5)]
print squared
 输出:[0, 1, 4, 9, 16]
sqdEvens=[x ** 2 for x in range(8) if not x % 2]
print  sqdEvens
输出:[0, 4, 16, 36]

Python访问文件

  • open()函数
    这个open函数的一些参数和Linux命令的文件权限参数很像,基本上是一样的。open()的使用格式是handle=open(fileName,accessMode),第一个参数就是文件名啦,第二个参数是访问权限,主要有以下几种权限参数:
r:读取
w:写入
a:添加
+:读写
b:二进制访问
默认是:r

open()函数返回的是一个文件对象,通过这个对象,我们可以进行一些操作,比如close(),readlines(),下面是具体用法。

filename = raw_input('Enter file name: ')
fobj = open(filename, 'r')
for eachLine in fobj.readlines():
    print eachLine,
fobj.close()
下面是运行结果:
Enter file name: C:/Users/P/PycharmProjects/untitled/First.py
filename = raw_input('Enter file name: ')
fobj = open(filename, 'r')
for eachLine in fobj.readlines():
    print eachLine,
fobj.close()

错误和异常

C#中的异常是try-catch,Python中处理异常的是try-except。具体用法和try-catch差不多,只是没有大括号而已。

try:
    filename = raw_input('Enter file name: ')
    fobj = open(filename, 'r')
    for eachLine in fobj:
        print eachLine, fobj.close()
except IOError, e:
    print 'file open error:', e
输出结果如下:
Enter file name: sdfsdf
file open error: [Errno 2] δ���ҵ��ļ���C:\Users\P\PycharmProjects\untitled\sdfsdf����: sdfsdf

这个有乱码现象是因为直接复制粘贴,可能是字符编码不一致导致的问题。

Python定义函数

Python通过关键字def来定义函数,其具体用法如下:

def addMySelf(x):
    return  (x+x)
print  addMySelf(2)
输出结果就是:4

还有一点要注意的就是,Python中的函数,如果没有return语句的话,会自动返回None对象。不过让人很惊讶的是,任何对象都可以相加,看个例子就明白了。

def addMySelf(x):
    return  (x+x) 
print  addMySelf(2)
print  addMySelf("123")
print  addMySelf(["34","sdf"])
输出结果从上到下依次是:
4
123123
['34', 'sdf', '34', 'sdf']

Python函数参数的默认值,这个和MsSqlserver的函数很像了,如果你传值了,就用你传的值,如果不传,那就用事先定好的默认值。还是举个例子就明白了。

def addMySelf(x=3):
    return  (x+x) 
print  addMySelf(2)
print  addMySelf()
输出结果分别是:4,6

接下来要说到类了,因为类里有我不懂得地方,而且类是面向对象的核心,所以要慎重,明天再学习类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值