• python之第一个例子hello world


    python用缩进(四个空格,不是teble)来区分代码块
    1.
    coding=utf-8    字符编码,支持汉字
    #!/usr/bin/env python
    # coding=utf-8
    print "hello world"
    print "你好 世界"
    2.
    字面常量:顾名思义,就是看到是什么就是什么
    变量命名:字母或者下划线或者数字组成,不过数字不能作为开头,关键字不能作为变量名(例如for,if等)
    3.
    数据类型:强类型(不允许非同类数据之间进行运算)
    type(变量名)    输出变量类型    例如:
    >>> v1 = 1
    >>> v2 = 2
    >>> v1 + v2
    3
    >>> v3 = "This is 3"
    --整型v1和字符型v3相加报错
    >>> v1 + v3

    Traceback (most recent call last):
      File "<pyshell#4>", line 1in <module>
        v1 + v3
    TypeError: unsupported operand type(s) for +: 'int' and 'str'
    >>> type(v3)
    <type 'str'>
    >>> type(v1)
    <type 'int'>
    --输出字符串某个字符,数组方式
    >>> v3[0]
    'T'
    >>> v3[1]
    'h'
    py中单引号和双引号是等价的,例如:
    >>> 'ture'=="ture"
    True
    4.
    类型转换:
    int|float(需要转换的值或者变量),例如:
    >>> v1=1
    >>> float(v1)
    1.0
    这里v1本来是整型1,转换后为1.0

    5.对象,py中万物皆对象
    6.运算表达式
    6-1.数学运算符:+ 
    整型相除得到的依然是整型,而不是浮点型
    而整型与浮点数相除,得到的就是浮点型,不过依然会损失一部分精度,例如
    --除法运算/
    >>> 10 / 3
    3
    >>> 10 / float(3)
    3.3333333333333335
    --取整运算//
    >>> 10 // float(3)
    3.0
    --取模运算
    >>> 10 % 3
    1
    --乘方运算
    >>> 10 ** 3
    1000
    --加法运算(单独存在是正号)
    >>> 10 + 3
    13
    --减法运算(单独存在是负号)
    >>> 10 - 3
    7

    6-2.位操作运算符
    --左移运算符<<,意思就是将值转为二进制,并且向左移动三位,并将移动的三位用0补全,例如:2的二进制是10,左移3位是10000,即16.
    >>> 2 << 3
    16
    --右移运算符>>,和左移解法一样,只不过是移动几位就删除几位.
    >>> 16 >> 2
    --按位与运算&,将值转为二进制,然后两个二进制同位进行与运算
    >>> 3 & 2
    2
    --或运算|
    >>> 3 | 2
    3
    --异或运算^
    >>> 3 ^ 2
    1
    --取反运算~,将值转为二进制,然后+1,取反,例如:3的二进制是11,那么转化的式子-->-(11+1)=-(100)=-4
    >>>~3
    -4

    --例如:~1-~3=(~1)-(~3)=(-2)-(-4)=2
    >>> ~1-~3
    2
    6-3.比较运算符 < > <= >= == !=
    6-4.逻辑运算符 and or not
    6-5.赋值运算符 =
    6-6.其他运算符
    6-7.运算符优先级
    单目运算符高于双目运算符,not是例外
    算数运算符高于位运算符,~是例外
    >>> 1+2<<2
    12
    >>> 2<<2+1
    16
    位运算符高于比较运算符
    比较运算符高于逻辑运算符
    建议用()来强制划分优先级,便于代码易理解

    7.分支结构
    7-1.if语句
    基本格式:if condition:
               expression
    if 3<5:
        print "This is 3"

    This is 3

    7-2. else子句
    py中一定要注意语句级别,每个级别的间隔都是4个空格,例如第二个
    if 3<5:
        print "ture"
    else:
        print "false"

       
    ture
    >>> if 3<5:
            if 3>2:
                print "ture"
            else:
                print "false"

           
    ture

    7-3.elif语句
    elif语句会在条件判定成功的那一刻停止,不会继续执行之后的elif,例如:这里只输出了一个ture
    if 3>5:
        print "false"
    elif 3>2:
        print "ture"
    elif 3>1:
        print "ture"

       
    ture

    8.循环体
    8-1.while语句
    >>> a=3
    >>> while a <= 10:
        print a
        a += 1 #a = a + 1

       
    3
    4
    5
    6
    7
    8
    9
    10

    8-2.for语句,和c语言差别比较大
    格式如下:
    for 变量 in 迭代器
    迭代器是什么,就是一个函数,例如range()
    range(1,10)
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    range(10)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    range(0,10,2)
    [0, 2, 4, 6, 8]
    #一个完整的for循环例子:
    for x in range(10):
        print x

       
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9

    另外,迭代器不要轻易进行修改,否则会出现意想不到的问题,例如:在下面这个例子中,li充当了迭代器的作用,在第一次循环中后,我们赋予了li=[1,2,3],但是之后却发现x依然获取的是0~9[即10次迭代],而并不是1~3[3次迭代].
    li = range(10)
    for x in li:
        print x
        print li
        li=[1,2,3]

       
    0
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    1
    [1, 2, 3]
    2
    [1, 2, 3]
    3
    [1, 2, 3]
    4
    [1, 2, 3]
    5
    [1, 2, 3]
    6
    [1, 2, 3]
    7
    [1, 2, 3]
    8
    [1, 2, 3]
    9
    [1, 2, 3]

    8-3.break语句,跳出整个迭代循环,不影响外部迭代循环
    for x in li:
        print x
        if x == 5:
            break

       
    0
    1
    2
    3
    4
    5
    例子2:
    x第一次循环体中[y进行10次循环+换行],但是在第5次循环被中断,故输出0-5,那么x的10次循环就是输出10次0-5
    print 后加,可以将换行改为空格,print后什么都不跟,则输出换行
    for x in range(10):
        for y in range(10):
            print y,
            if y == 5:
                break
        print

       
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5
    0 1 2 3 4 5

    8-4.continue子句,跳过当前循环,不影响整个迭代循环的其他循环
    例如:当x等于5时,跳出本次x=5的循环,但是不影响之后的迭代循环.
    for x in range(10):
        if x == 5:
            continue
        print x
            for y in range(10):
            print y,
        print

       
    0
    0 1 2 3 4 5 6 7 8 9
    1
    0 1 2 3 4 5 6 7 8 9
    2
    0 1 2 3 4 5 6 7 8 9
    3
    0 1 2 3 4 5 6 7 8 9
    4
    0 1 2 3 4 5 6 7 8 9
    6
    0 1 2 3 4 5 6 7 8 9
    7
    0 1 2 3 4 5 6 7 8 9
    8
    0 1 2 3 4 5 6 7 8 9
    9
    0 1 2 3 4 5 6 7 8 9

    8-5.循环体中的else子句
    for x in range(10):
        if x > 10:
        break
    else:
        print "x > 10"

       
    x > 10

    9.小例子1:
    预先设定一个数字,判定用户输入数字与预设数字的区别,并输出对应信息
    raw_input()和input()最大的区别在于,前者会将所有输入类型改变为字符串类型,后者则认为自己需要一个合法的表达式,比如说输入字符串,则必须加引号(获取abc,则需要输入"abc")
    #!/usr/bin/env python
    # coding=utf-8
    numA = 100
    numB = input("请输入一个数字:")
    if numA == numB:
        print "你获得胜利!"
    elif numB > numA:
        print "你的数字大于预设数字!"
    elif numB < numA:
        print "你的数字小于预设数字!"







    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    “回调地址”全攻略 java程序员
    超棒的纯Javascript实现的文件上传功能 Fine uploader java程序员
    帮助你操作数字和处理数字格式的javascript类库 Numeral.js java程序员
    正则表达式 java程序员
    一款非常棒的CSS 3D下拉式菜单实现Makisu java程序员
    Google的全新在线地图API演示网站 More than a map java程序员
    Android中的布局属性 java程序员
    整理一系列优秀的Android开发源码 java程序员
    Lambda表达式select()和where()的区别
    按公式产生随机数、java中的重载、递归、有关计算机计算的问题
  • 原文地址:https://www.cnblogs.com/aaa103439/p/0d4a69cd3767c050366b3d1155910b5f.html
Copyright © 2020-2023  润新知