zoukankan      html  css  js  c++  java
  • python-day1

    Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
    Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET
    是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或.NET的功能更强大,而是说和Java 或.NET相比,Python的Virtual Machine距离真实机器的距离更远。或者可以这么说,Python的Virtual Machine是一种抽象层次更高的Virtual Machine。基于C的Python编译出的字节码文件,通常是.pyc格式。除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

    基本语法

    编辑
    Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语
    言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
    Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。例如if语句:python3
    1
    2
    3
    4
    if age<21:
        print("你不能买酒。")
        print("不过你能买口香糖。")
    print("这句话在if语句块的外面。")
    根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。

    控制语句

    if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
    for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
    while语句,当条件为真时,循环运行语句块。
    try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
    class语句,用于定义类型
    def语句,用于定义函数和类型的方法。
    pass语句,表示此行为空,不运行任何操作。
    assert语句,用于程序调试阶段时测试运行条件是否满足。
    with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。
    yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。
    raise语句,制造一个错误。
    import语句,导入一个模块或包。
    from import语句,从包导入模块或从模块导入某个对象。
    import as语句,将导入的对象赋值给一个变量。
    in语句,判断一个对象是否在一个字符串/列表/元组里。

    表达式

    Python的表达式写法与C/C++类似。只是在某些写法有所差别。
    主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~, %分别表示加法或者取正、减法或者取负、乘法、除法、整除、乘方、取补、取余。>>, <<表示右移和左移。&, |, ^表示二进制的AND, OR, XOR运算。>, <, ==, !=, <=, >=用于比较两个表达式的值,分别表示大于、小于、等于、不等于、小于等于、大于等于。在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。
    Python使用and, or, not表示逻辑运算。
    is, is not用于比较两个变量是否是同一个对象。in, not in用于判断一个对象是否属于另外一个对象。
    Python支持“列表推导式”(list comprehension),比如计算0-9的平方和:
     
    Python使用lambda表示匿名函数。匿名函数体只能是表达式。比如:
     
    Python使用y if cond else x表示条件表达式。意思是当cond为真时,表达式的值为y,否则表达式的值为x。相当于C++和Java里的cond?y:x。
    Python区分列表(list)和元组(tuple)两种类型。list的写法是[1,2,3],而tuple的写法是(1,2,3)。可以改变list中的元素,而不能改变tuple。在某些情况下,tuple的括号可以省略。tuple对于赋值语句有特殊的处理。因此,可以同时赋值给多个变量,比如:
    1
    >>> x, y=1,2 # 同时给x,y赋值,最终结果:x=1, y=2
    特别地,可以使用以下这种形式来交换两个变量的值:
    1
    >>> x, y=y, x #最终结果:y=1, x=2
    Python使用'(单引号)和"(双引号)来表示字符串。与Perl、Unix Shell语言或者Ruby、Groovy等语言不一样,两种符号作用相同。一般地,如果字符串中出现了双引号,就使用单引号来表示字符串;反之则使用双引号。如果都没有出现,就依个人喜好选择。出现在字符串中的(反斜杠)被解释为特殊字符,比如 表示换行符。表达式前加r指示Python不解释字符串中出现的。这种写法通常用于编写正则表达式或者Windows文件路径。
    Python支持列表切割(list slices),可以取得完整列表的一部分。支持切割操作的类型有str, bytes, list, tuple等。它的语法是...[left:right]或者...[left:right:stride]。假定nums变量的值是[1, 3, 5, 7, 8, 13, 20],那么下面几个语句为真:
    nums[2:5] == [5, 7, 8] 从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素。
    nums[1:] == [3, 5, 7, 8, 13, 20] 切割到最后一个元素。
    nums[:-3] == [1, 3, 5, 7] 从最开始的元素一直切割到倒数第3个元素。
    nums[:] == [1, 3, 5, 7, 8, 13, 20] 返回所有元素。改变新的列表不会影响到nums。
    nums[1:5:2] == [3, 7] 从下标为1的元素切割到下标为5的元素但不包含下标为5的元素,且步长为2。

    函数

    Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。
     
    习题:
     
    #4、输出 1-100 内的所有偶数
    n = 1
    while n < 101:
        temp = n % 2
        if temp == 0:
            print(n)
        else:
            pass
        n = n + 1
    
    print('----end----')
    #5、求1-2+3-4+5 ... 99的所有数的和
    n = 1
    s = 0  # s是之前所有数的总和
    while n < 100:
        temp = n % 2
        if temp == 0:
            s = s - n
        else:
            s = s + n
        n = n + 1
    
    print(s)
    

      

    #4、输出 1-100 内的所有偶数
    n=1
    while n<101:
        temp=n%2
        if temp==0:
            print(n)
        else:
            pass
        n=n+1
    print("-----end-----")
    

      

    # in是在里面的东西在里面,判断某个东西是否在里、面
    #not in  注释 ctrl +?
    # name="德贵"
    # if "倪" in name:
    #     print("ok")
    # else:
    #     print("no")
    #
    
    # name="德贵"
    # v="德贵" in name
    # if True:
    #     print(v)
    # else:
    #     print(v)
    
    # v=1!=2
    # print(v)
    
    #字符串
    #upper 大写
    v1="nidegui"
    a="德贵"
    v= len(a)
    v2=v1.upper()
    print(v)
    print(v2)
    

      

      

  • 相关阅读:
    技术问答集录(二)(RPC和MVC框架&syn,lock区别)
    Zookeeper同一台机器集群部署
    Linux——JDK安装
    VirtualBox CentOs7 设置ssh连接

    ThreadLocal
    关于Centos 7上面的防火墙配置
    windows下使用命令行关闭进程
    强类型 弱类型语言 静态 动态语言
    无法启动此程序 ,因为计算机中丢失MSVCP120.dll
  • 原文地址:https://www.cnblogs.com/nidegui/p/10896658.html
Copyright © 2011-2022 走看看