python学习(一)

来源:互联网 发布:nba2k16罗伊捏脸数据 编辑:程序博客网 时间:2024/05/20 17:07
1.简要说明
       python是解释型程序,也就是边读源程序程序边执行,所以在程序编辑和程序之间没有类似于.0这种目标代码的产生,这也让python的性能受到影响。
2.python的编写
       IDEL提供了IDEde编译环境,可以在>>>之后直接编程,python编程的一个奇特就是,能够编写一句,就执行一下。当然可以用IDEL的File菜单,建立new window,编辑完保存,run菜单点击一下,就可以在IDEL中看到执行结果了。
       python编写中,是没有{}来标识程序块的,依靠的是缩进,同一缩进表示的就是同一程序块的。这个不用担心,只需要回车,IDEL会自动帮你完成。
3.基本语法与知识
       变量:不用指定类型,不需要类型转换和匹配。如果忘记了变量或数据类型,记得用type函数
       变量名:以字母开头、由数字和字符组成的任意长度字符串。注意:不可包含非法字符;不可使用关键字作为变量名;区分大小写
       语句:特殊的打印
                 双引号--print ' " " '
                 换行--print '\n'(和c一样)
       表达式包括了值、变量和操作符,是合法语句,但是无输出
       运算符:也有+、-、*和/,由于python中不会定义数据的类型,会自动进行类型提升,特别注意的是/,结果的类型将是操作数中精度较高的。模操作符%则是计算两个整数的余数;此外,还支持复数运算,直接定义(eg:a=1+5j)或使用函数(eg:x=complex(1,5))
       运算次序:先括号,在乘幂(**x),然后是乘除,最后加减
       字符串不能乘除和减,但是可以加
       注释符号:#,可以在代码后面,也可以单独一行
4.函数
       函数定义:
             def <name>(arg1, arg2, ..., argN):  #没有参数类型和返回类型
                 <statement>
       变量的范围:python只有一个主函数:_main_,其他函数都是在这个函数内执行,着就相当于在_main_中是全局变量,在内部函数中的是局部变量
       函数的返回值:函数可以进行return,如果没有return或return后面没有表达式,返回的是none,不属于任何类型,不知道有啥神奇作用
       类型转换:虽然python中的变量类型任变,但python还是提供了进行类型转换的内置函数。eg:int()、float()、str()
       数学模块:math
              在此模块中的常见函数有:log10(arg)  sin(arg) cos(arg) exp(arg) pow(arg1, arg2) sqrt(arg) fabs(arg)
              模块中的常量:pi e
              如何调用:1.import math,但是每次调用函数和常量的时候都得是math.+函数名或常量名
                              2.from math import *,这样每次调用就不用加了
       单行小函数:
              labmda 参数:表达式 #默认返回表达式的值
5.条件表达式
       布尔表达式:(真值为1,假为0值)
             比较两个数大小:==、!=、<=、>=、<、>
       逻辑操作符:and/or/not。python中,字符串为空则为假,非空则为真;对数来说,非零为真,零为假。
                           and的计算:只要左边的表达式为真,整个表达式返回为右边表达式;否则返回左边表达式
                           or的计算: 两边都为真,返回左边表达式的值;一真一假,返回真值表达式;由于如果两个都是假,只有可能是0和空值的组合,返回是右边的0或空值
        条件语句:
              if  <表达式1><布尔比较/逻辑操作><表达式2>:
                    <statement>
             else:
                    <statement>
            此上是比较简单的,还有elif
        while语句:判断之后执行循环体
        条件嵌套
        键盘输入:内置的函数获得键盘的输入。raw_input(),当按下回车后,程序恢复执行,并且raw_input()返回用户输入内容
6.字符串(字符串中的字符不可被修改,这和列表中的元素不同)
        字符串是一种组合数据类型,是由多个字符构成。操作符[]可以从字符串中提取任意个连续字符,可以是一个值,也可是一个范围(左开右闭的区间)。
         操作:len(arg)  arg[index]  arg[m:n] 
         在字符串模块string中处理字符串的函数:find(种类多) ;常量:lowercase uppercase digitsl
7.列表
         定义:list[element1, element2, ..., elementN]
         特点:任意类型的值、有序
         列表用[]将元素括起来,内部元素之间用","隔开,可以嵌套。第一个索引为0。#列表的嵌套就像多维数组一样
         列表读:[index]--注意index可以是表达式,但必须是整数  #[m:n]可以将列元素连续取出,叫片段,该片段仍是列表
         
         列表的一些方法:list.append(element)(在列表的尾部追加元素)
                                   list.insert(index, value)(在指定位置插入元素)
                                   list.extend(list1)(列表合并)  #此外,还能通过操作符+,将两个列表连接成一个
                                   list.index(element)(返回列表中element第一次出现的位置,如果list中没有element会报错) 
                                   list.remove(element)(删除列表中第一个此element)  #此外还提供del list[index]进行元素的删除,当然可以为[m:n],注意范围
                                   list.pop()(删除最后一个值)
         列表的操作:
                                   listA+listB#将两个列表连接成一个列表
                                   list*Arg#把列表list中的所有元素重复一定次数,然后形成新的列表
                                   del list[m|m:n] #删除列表中的元素,可以为单个元素,也可以是一定索引范围内的元素
                                   listA=listB[:]#对列表B进行克隆
        列表作为函数参数进行传递的时候,传递的是列表别名,而不是列表的拷贝,所以要注意如果在函数中对列表进行修改,会影响到原值
8.别名
       当两个变量的值一样的时候,python会认为这些变量是同一个值的别名,指向同一内存空间,所以对其中一个的修改,会导致另一个变量的修改;但如果其中一个变量进行赋值,它们就会指向不同的内存地址。
       列表有不同的名字,分别叫a和b,我们叫做别名,虽然名字不同但指向内存的相同地址。利用操作符[]修改任何一个列表的元素,另一个列表也会做出相同改变;但如果是对其中一个列表进行赋值,那么两个别名对指向不同的内存地址,也就是说之后对两者的修改不会发生联系。
       列表作为函数参数传递的时候,是别名方式,为了避免在函数中对原列表的修改,须进行列表的克隆,即:listA=listB[:]

原创粉丝点击