• Python 2.7 学习笔记 基本语法和函数定义


    本文介绍下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语句是遍历元组中的元素,这里获得的就是传入的各个参数值。

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

  • 相关阅读:
    Android中的Intent详解
    Android数据保存之文件保存
    Android数据保存之SharedPreference
    Activity的生命周期函数
    Android主线程的消息系统(HandlerLooper)
    Activity生命周期
    Android内存优化之磁盘缓存
    Android内存优化之内存缓存
    Android Bitmap那些事之如何优化内存
    Bitmap那些事之内存占用计算和加载注意事项
  • 原文地址:https://www.cnblogs.com/51kata/p/5332274.html
Copyright © 2020-2023  润新知