本文介绍下python的基本语法

一、变量定义

不需要说明类型,也不需要像js等脚本语言使用var等标识符。直接声明即可,如:

num=1

说明:上面语句声明了一个变量num,并在声明时初始化值为 1

二、常量

同其它语言类似。注意字符串常量既可以用单引号,也可以用双引号扩起。

注意None是python中的一个内置常量,代表什么也没有,可以给一个变量赋值为None,表示该变量什么值也没有。

三、布尔值

在python中,下面的值作为布尔表达式时,都会被解释成假(false):

True ,  None , 0 , ""  , '' , ()  , [] , {}

其它值都会被解释成真。

注意 : 常量布尔值 是 True(真) 和False(假),是区分大小写的,第一个字母大小。

a =false  会把false当作一个变量,如果false没定义会报语法错误。

举例:

>>> if 'hello':
... print True
... else:
... print False
...
True
>>> if '':
... print True
... else:
... print False
...
False
>>> if 1:
... print True
... else:
... print False
...
True

四、字符串

1、字符串连接用  + 号

2、长字符串,如果一个字符串很长,需要多行,可以用 三个单引号括起来,如:

举例,在交互式下的输入

>>> str='''hello,
... i am jame,
... where are you?'''
>>> print str
hello,
i am jame,
where are you?
>>>

在脚本文件中

xxx@ubuntu:~$ more test.py
x='''hello,
i am jame,
where are you?'''
print x
xxx@ubuntu:~$ python test.py
hello,
i am jame,
where are you?
xqh@ubuntu:~$

在python中,不能直接将字符串与数字通过 + 连接,python不会自动将数字转字符串,会报错。在python中,字符串和数字的相互转换方式是:

string-->int

1)、10进制string转化为int

  int('12')

2)、16进制string转化为int

  int('12', 16)

int-->string

1)、int转化为10进制string

  str(18)

2)、int转化为16进制string

  hex(18)

五、运算符

1、布尔运算符

与java,js等语言不同。python中的 与,或,非 运算符不是 && , || 和 !,而是用单词 and , or 和 not表示,如:

>>> a=False
>>> not a
True
>>> a and True
False
>>> a or True
True

六、输入和输出

利用 print方法可以将信息输出到屏幕上。

利用 raw_input() 可以从屏蔽输入信息,如:

>>> msg="hello,"
>>> msg+=raw_input("please input your name:")
please input your name:tom
>>> print msg
hello,tom
>>>

注意,与 input()方法的区别,input方法会假设用户输入的是合法的python表达式,而不会把它当作字符串。
如上面的例子,如果用的是 input,则输入时一定要输入 "tom", 要带双引号,否则就会把tom当作变量处理,而如果没定义,则会报语法错误。

这里举个例子:

>>> print input("please input:")
please input:3+5
8
>>> print input("please input:")
please input:23+16*15
263
>>> print raw_input("please input:")
please input:23+16*15
23+16*15
>>>

通过上面例子,可以很清晰的看出 input 和raw_input方法的区别了。

七、函数定义

通过def关键字定义函数,举例如下:

>>> def hello():
... print "hello"
...
>>> hello()
hello
>>> def showMsg(msg):
... print msg
...
>>> showMsg("good")
good
>>> def minus(a,b):
... return a-b
...
>>> result = minus(10,5)
>>> print result
5

函数可以有返回值,也么可以没有,返回值通过return关键字指定,这和其它语言一致。

上面的例子中两个函数showMsg和plus带了参数,采用这种定义方式,要求调用函数时,参数传递的顺序和定义一致。如

minus(10,5 )  和 minus(5,10) 结果完全不一样。

除了这种方式外,在python中,还可以提供参数的名字传递参数值,这样不需要按照定义时的顺序来,避免出错,举例如下:

>>> def calSecond(hour,minute,second):
... return hour*60*60+minute*60+second
...
>>> print calSecond(1,0,10)
3610
>>> print calSecond(hour=1,second=10,minute=0)
3610

上面代码定义了calSecond函数,先是没有指定参数名调用(要求顺序和参数定义一致),后者指定参数名调用(这对顺序没要求,但要求名字一致),两者结果是一样的。
定义函数时,也可以给参数指定默认值,这样调用函数时,如果对有默认值的参数不传入值时,则使用默认值。

>>> def show(name,color="red"):
... print name+" is " + color
...
>>> show("apple")
apple is red
>>> show("banana","yello")
banana is yello

说明:如果函数定义时参数没有指定默认值,调用时必须要传入值,否则会报语法错误。这和js等脚本语言不同。

变参定义,同其它语言一样,python也提供了变参的功能(即传入的参数个数不变),举例如下:

>>> def test(name,*paras):
... print name
... for para in paras:
... print para
...
>>> test("hello",10,100,1000)
hello
10
100
1000
>>> test("hello","a","b")
hello
a
b

通过*可以标记一个参数为变参,这时调用时可传入任意数目(包括0)的值,实际在函数体内,获得的该参数是一个元组。
关于元组的概念后续文章再介绍,上面for语句是遍历元组中的元素,这里获得的就是传入的各个参数值。

很显然,一个函数只能有一个变参,且必须位于最后一个参数。

Python 2.7 学习笔记 基本语法和函数定义的更多相关文章

  1. Python快速入门学习笔记(三)——函数的定义与调用

    定义函数 Python中定义函数的格式为: def fun([参数列表]): ... 函数在执行到return语句时结束,并将结果返回.如果没有return语句,函数执行完毕后返回None. 例: d ...

  2. Python Built-in Function 学习笔记

    Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...

  3. Requests:Python HTTP Module学习笔记(一)(转)

    Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...

  4. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  5. Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数python中的函数函数中的参数变量作用域偏函数PFA递归函数高阶函数BIFs中的高阶函数匿名函数lambda闭包Closure装饰器Decorator函数式编程 ...

  6. Hadoop源码学习笔记(2) ——进入main函数打印包信息

    Hadoop源码学习笔记(2) ——进入main函数打印包信息 找到了main函数,也建立了快速启动的方法,然后我们就进去看一看. 进入NameNode和DataNode的主函数后,发现形式差不多: ...

  7. Python学习笔记——基础语法篇

    一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Pyth ...

  8. Python学习笔记014——迭代工具函数 内置函数enumerate()

    1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequ ...

  9. Python(Head First)学习笔记:四

    4 持久存储:文件存储.读写 数据保存到文件:在学习的过程中出现了一个问题,老是报一个错:SyntaxError: invalid syntax: 这个是语法错误,后来搜了下才知道是python2.7 ...

随机推荐

  1. 批量删除Kindle library 中的不想要的书籍

    这是一个书签形式的脚本  有全选  批量删除什么的   亚马逊本身的删除太麻烦了 网上转的  原帖在这里http://tieba.baidu.com/p/2249582757 改进版本http://t ...

  2. 基于SIM 卡卡基不同制作工艺的研究

    1 国内外现行的SIM 卡卡基制作工艺 SIM 卡由卡基和芯片两部分组成.卡基上有植入芯片的台阶式芯片槽,SIM 卡的芯片通过多点焊接植入台阶式芯片槽之中与卡基组成SIM 卡,然后经过个性化数据处理, ...

  3. DLL与EXE之间的通讯调用 以及 回调函数的线程执行空间

    dll 与 exe 之间的通讯方式有很多种, 本文采用回调函数的方法实现, 本文也将研究多线程,多模块的情况下,回调函数所在的线程, 啥也不说了,先附上代码: 下面的是dll模块的的, dll的工程文 ...

  4. mfc删除标题和边框

    //删除标题和边框WS_CAPTION和WS_BORDER风格 ModifyStyle(WS_CAPTION, 0);ModifyStyle(WS_BORDER, 0);

  5. c++中的成员选择符

    c++中支持仅能指向类成员的指针,对这种类型的指针进行数据的提取操作时,可使用如下两种类型的操作符:成员对象选择操作符.* 和 成员指针选择操作符->* 例一: #include <ios ...

  6. SSH框架的简单学习—Structs学习

    一:struts部分 1.打开Myeclipse,创建一个web project,项目名称为SSHDemo. 2.在web的lib下粘贴struts2-blank.war解压后WEB-INF\lib下 ...

  7. Apache 错误代码配置

    ErrorDocument 400 /error_pages/400.htmlErrorDocument 401 /error_pages/401.htmlErrorDocument 403 /err ...

  8. PHP中用到的一些字符串函数

    /*常用的字符串输出函数   *   * echo()   输出字符串   * print()  输出一个或多个字符串   * die()  输出一条信息,并退出当前脚本   * printf()  ...

  9. sql 时间和字符串 取到毫秒级

    (select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')+(Select ri ...

  10. HTML5 Web Storage使用实例

    很久没写文章了,忙加懒实在没办法,之前也看过关于Web Storage的文章,当时就觉得各各浏览器的支持跟上来还早着呢,像我们这样做门户网站的一时半会儿也用不上,毕竟用户群体鱼目混杂嘛,最近各各浏览器 ...