python速学笔记

小编第一次接触到python是上次有个张童鞋问我关于一些网络爬虫抓取网页的问题,那时候小编只是进行了python环境的安装,并到网上down一些代码进行简单的学习,并没有深入系统学习python。

关于python的安装,相信网上的诸多大神已经写了详细的教程,这里小编就不再重复这项繁琐的工作。

在此,小编只是将自己对python的学习进行简单的记录,供需要的童鞋参考。

首先,python是一种弱型语言。所谓弱类型语言就是相对于C/C++这类强类型语言来说的,像C/C++等,在使用一个变量的时候必须进行声明,如 type name,而在python中,在使用变量的时候并不需要进行变量类型的声明,可直接通过赋值来使用,如 name = value。


接着来说说python中的类型,目前小编在python中接触到的类型有int、float、list、tuple(元组)、set(集合)、str(字符串)、file,对于不同的类型可以使用type(value)来进行确认识别。现在针对不同的类型进行简单的说明:

  1. int 整型,和C/C++中的int类型相同,有编程的经验的童鞋应该都清楚,但是,如果要从内存上来分析这个类型,目前小编对pythong的功力还不够,不能确定是否和C/C++同样是4个字节。
  2. float 浮点型,在python中小编没有发现在C/C++中的double类型,对于float的精度是否够用,小编目前也是不得而知了。
  3. list 列表,在小编看来,list是python中比较灵活的一种数据类型,它是由中括号括起来的并以逗号进行元素区分的序列,如[a,b,c],list支持存放不同的元素类型,可以同时存放多种数据类型,包括下面将要提到的tuple和set,甚至是嵌套存放list,其强大堪称牛逼~~
  4. tuple 元组,元组和list有点相似,也是可以同时存放多种数据类型的元素,同样,也可以嵌套存放tuple类型的元素。在小编看来,tuple和list的不同之处就在于,tuple的元素是不可修改的,而list的元素是可以修改的,感兴趣的童鞋可以自行编程做一个简单的测试,这里可以简单提一下,list和tuple可以通过和C/C++中类似的做法,即可以通过中括号和索引的形式来tuple或者list中的元素进行引用,而对于 list[index] 可以作为左值,但是tuple[index] 则不可。
  5. set 集合,对于该类型,小编接触的不多,在这里只简单说明几个小编发现的需要注意的地方,对于set的元素类型来说,它不支持list类型的元素,也不支持set类型的嵌套存储,报错信息是无法对该元素进行哈希操作,这点对于集合来说是可以接受的,有编程经验的童鞋对hash应该不陌生,不懂的孩纸请自行百度~~
  6. file 文件,当调用open()操作打开指定文件后将返回file类型的值,通过该值可以进行文件的相关操作,如write、writelines、read、readline、readlines等。
说完了类型,接下来说说python中几种常用结构语句:
  1. if分支语句
    if condition<span style="color:#ff0000;">:</span>
          dosomething
    elif<span style="color:#ff0000;">:</span>
          dosomething
    else<span style="color:#ff0000;">:</span>
          dosomething<pre name="code" class="python">

     
  2. while语句<pre name="code" class="python">while condition:
         dosomething
    else:
         dosomething
     
  3. for 语句<pre name="code" class="python">for i in sequence:
        dosomething
    else:
        dosomething
     
像C/C++中switch语句,在python中小编还没有接触到,这点还行各位需要的童鞋自行百度之~~
这里有个重要的地方需要强调,就是该出现冒号的地方,以及该缩进的地方,也就是使用tab键,所有出现关键字语句的行末都需要添加冒号,而且与常用的高级语言不同的是,在python中通过tab键的对齐来标识为同一个代码块,也就是说python通过tab对齐来替代高级语言中的花括号。

讲完了几种常用的结构语句之后,接下来简单说说python中的函数定义问题:
在python中,函数的定义是通过关键字def来表示的
def funcName( val1, val2):
     dosomething
     dosomething
     return something 
</pre>和常用的高级语言C/C++不同,python中的函数没有显示声明返回值类型(可能是因为弱类型语言的缘故,不知道返回的类型,所以索性就不声明返回类型了),但是不表示python不能返回数据,相反,python中的函数可以一次性返回多个,如:<pre name="code" class="python">def testFunc2( val1, val2 ):
    val1 = 0
    val2 = 0
    return 10, 20, 30
需要注意的是,在参数列表中,不需要对形参的类型加以说明,而且,python的函数同样支持默认值的形式,如:
def testFunc3( val1 = 1, val2 = 2 ):
    print val1, val2
值得一提的时,python中的函数关于实参到形参的对应问题也是比较具有灵活性的,也是就说在进行函数调用的时候,可以在括号对形参进行指定赋值,从而能够打乱原有的声明顺序,但是在小编看来这点平时需要的地方不多,至少小编还没有发现值得一用的地方(虽然小编入手python只有三天时间~~)

说完了python的函数,接下来说说python关于字符串的几个常用的操作(字符串的操作是学习一门语言的亮点所在):
  1. python中的字符串有单引号、双引号或三双引号括起来。
  2. python中的字符串支持加法操作,即str1+str2可以实现两个字符串的拼接
  3. islower()、isupper()用来判断大小写,lower()、upper()用来实现大小写的转换
  4. strip()、lstrip()、rstrip()用来实现空白符的去除操作
  5. isalnum()用来判断当前字符串是否只包含数字和字母,isalpha()用来判断当前字符串是否只包含字母,isdigit()用来判断当前字符串是否只包含数字
  6. isspace()用来判断当前字符串是否全是空格
  7. startswith()用来判断当前字符串是否以指定的字符串开始,endswith()用来判断当前字符串是否以指定的字符串结束
  8. python中的字符串支持格式化操作,如
    s1 = 'hello%dworld%d'%(10,20)+'%s'%('haha')
    这里要注意到字符串和括号之间的百分号!
  9. python字符串支持索引操作,但不支持赋值操作,这里可以这么理解,在python中的字符串是一个常量,那么常量不可修改,因此自然不可以对python中的字符串的元素通过索引进行赋值操作
说完了python的字符串,现在来说说python的文件操作。在上面小编也简单地提到了几个文件操作的函数
在python中的文件操作相对于C/C++还是比较简单的,但是,两者的操作模式是相同的:
  1. 指定操作模式打开文件
  2. 根绝不同的需要对文件进行读取
  3. 文件操作结束后对文件进行关闭操作。
open(fileName,mode)

其中mdoe包括r,w,a,+,b,即读、写、附加、创建、二进制等模式,需要注意的是,+表示当文件不存在的时候将创建文件。
接着对python的几个常用的文件操作进行简单的说明
read()#当不指定大小的时候,将读取所有的内容
readline()#读取一行,包括'\n'
readlines()#读取所有行,返回list
write()#写入字符串
writelines()#以list或者tuple或者set的形式写入多个字符串,如obj_file.writelines((obj1, obj2, obj3, str(11)))
值得一提的是,file支持for的迭代器操作,如
for i in open( fileName, mode )
      do something with i
需要再强调的是,python对于文件的操作只是针对字符串,所有当需要对其他数据类型进行都写入操作的时候都需要对其进行str()类型转换。

说完了python中的文件操作之后,接下来再讲讲关于python中的序列切片问题,序列切片也是小编认为的python的牛逼能力所在:
seq[start:end:step]

其中,seq表示序列,这里可以是list,tuple或者str,start表示切片的起始索引,end表示切片的结束索引,end所指的元素不包括在切片中,step表示步长,可正可负,其中从左到右表示正方向,当出现start-end和step同号的时候将出现空的序列结果。
    ls = [1,2,3,4,5,6,7,8,9]
    print ls
    print ls[0:4]
    print ls[0:4:2]

    print ls[2:4]
    print ls[2:4:2]

    print ls[4:0]
    print ls[4:0:-1]
    print ls[4:0:-2]

最后来说说python的输入和输出
对于python的输入
raw_input(prompt)
prompt作为提示信息出现在终端界面,然后从键盘缓存读取信息,作为字符串返回,可以根据不同需求将其转换为需要的数据类型int(),float()等

对于python的输出
print message#将message输出到终端界面,这里的message可以是多个字段,然后以逗号作为空格,这样就能够连续输出了,同时在输出结束后自动回车换行


至此,小编将自己三天的python笔记全部收录完毕,如果不当或错误之处,欢迎指出给予纠正,谢谢。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值