python基础

来源:互联网 发布:linux 脚本 关闭程序 编辑:程序博客网 时间:2024/06/05 01:50

python须知的语言特性

  • python语言是一种动态语言,程序解释执行的速度较之编译型语言慢。
  • python使用C语言开发,但是python语言没有C语言中的指针等复杂数据类型。
  • python内置的数据类型包括数字、字符串、元组(tuple)、列表(list)、字典(dict)、集合(set)等。
  • python语言中的关键词较少,也没有分号、begin、end等标记,代码块使用空格、制表键缩进的方式来分隔。
  • python语言具有跨平台性,先被编译为与平台相关的二进制代码,然后再解释执行。
  • python与一些其他的语言类似,例如JS,PHP,Perl等, 不需要额外声明变量,直接赋值即可创建新的变量,python的变量在创建后可根据赋值表达式的内容自动决定变量的类型,不同类型的变量需要进行类型转换。
  • python程序运行也很简单,命令行下执行
    python python_file_path python_file.py

python须知的基础语法

  • python语法与其他的很多高级编程语言有很多不同,python使用了很多标记作为语法的一部分,例如空格缩进、冒号等。例如:
def compareNum(num1,num2):    if (num1 > num2):        return 1    elif (num1 == num2):        return 0    else:        return -1
  • python代码可以直接运行,不需要进行编译或者链接,python的文件通过python解释器直接解释运行。
  • python源代码的扩展名以.py为后缀名,可在命令行模式下运行,python语言编写的代码可以直接直接运行源代码,不需要编译成二进制代码。
  • 后缀名为.pyc的文件是编译过的字符文件。后缀名为.py的文件直接运行后即可得.pyc类型文件,或可通过脚本生成该类型的文件。
  • python类命名时,首字母采用大写,对象名采用小写,类的属性和方法名以对象作为前缀,类的私有对象、私有方法以两个下划线作为前缀。
class Student:  # 类名称首字母大写    __name = "" # 私有实例变量前须有两个下划线    def __init__(self,name):        self.__name = name    def getName(self):        return self.__name
  • 对于C,C++,Java等语言,代码缩进只是作为一种编程的习惯而已,但是在python语言编程时,代码缩进是一种语法,python语言没有采用花括号{}、begin、end分隔代码块,而是使用冒号和代码缩进区分代码之间的层次。需要注意的是,python编程时对代码缩进的要求非常严格,如果程序中不采用代码缩进的编码风格,将会出现IndentationError.
  • 模块是类或函数的集合,用于处理一类问题,模块的导入和Java中包的导入类似,都是使用import语句,在Python中,如果需要在程序中调用标准库或是其他第三方库的类,需要先使用import语句或是from … import … 语句导入相关的模块。
import sysimport numpy as npfrom numpy.random import RandomState
  • 空行与代码缩进不同,空行并不是python语法的一部分。
  • python3中默认的编码是Unicode,所以不需在每个python文件中再加上注释:
    # coding: utf-8
    但在python2中若使用中文必须加上该注释。
  • 跨平台注释:
    # !/usr/bin/python
  • python支持多行写一条语句,使用“\”作为换行符。
  • 在python中,变量是计算机内存中的一块区域,变量可以存储任何值,而且值可以改变。常量是一块只读的内存区域,常量一旦初始化就不能修改。
  • python中的变量不需要声明,变量的赋值操作即是声明和定义变量的过程,每个变量在内存中创建,都包括变量的标识、名称、和数据这些基本信息。
  • 变量在使用前必须赋值,这样可以避免由于变量的空值引起的一些异常。常量是一旦初始化后就不能修改的变量。
  • 用python编写程序时,不需要声明变量的类型,由python内置的基本数据类型来管理变量,在程序的后台实现数值与类型的关联,以及类型转换等操作。
  • python内部没有普通类型,任何类型都是对象。
  • type是__builtin__模块的一个类,该类能够返回变量的类型或创建一个新的类型。__builtin__模块是python的内联模块,内联模块不需要import语句,由python解释器自动导入。
  • python内置了复数类型,可以方便的进行科学计算,eg, c=7+8j 。
  • 在python中,有三种表示字符串的方式,单引号、双引号、三引号,单引号和双引号的作用是一样的。三引号是python特别的语法,三引号中可以输入单引号和双引号或是换行等字符。如果要输入含有特殊字符的字符串,需要用到转义字符“\”。
  • python的运算符包括算术运算符、关系运算符和逻辑运算符。python不支持自增运算符和自减运算符。关系运算符的优先级低于算数运算符,<,<=,>,>=的优先级大于==,!=的优先级。逻辑运算符只有三种,或、与、非,逻辑非的优先级高于或、与,或、与的优先级相同。逻辑运算符的优先级低于关系运算符,必须先计算关系运算符,然后计算逻辑运算符.

python控制语句须知

  • 控制语句包括条件语句、循环语句,控制语句根据条件表达式控制程序的流转。是结构化程序设计的基础。
  • python条件语句有if语句、if-else语句,在使用时,一定要注意在冒号的使用。另外,如果程序的条件分支很多时,可以使用if … elif … else语句。
if (表达式1):    语句1elif (表达式2):     语句2...elif (表达式n):     语句nelse:     语句m
  • python2中的raw_input()函数和python3中的input()函数功能一样,都是用于接收用户输入,但是python2中的raw_input()不转换为字符串类型,会保留原始类型,在python3中,input()函数捕捉用户的原始输入并将其转化为字符串,返回值是字符串。输入数字时,需要用int()进行转换。
m = int(input('用户的输入都会转化为字符串,int()会将其转化为整型'))
  • python并没有提供switch语句,不过可以通过字典实现switch语句的功能。
class Switch(object):    def __init__(self,value):   # 初始化需要配对的值        self.value = value        self.fall = False       # 如果匹配到的情况中没有break,则为fall为True    def __iter__(self):        yield self.match      # 调用match方法返回一个生成器        raise StopIteration   # StopIteration异常来判断循环是否结束    def match(self,*args):    # 模拟switch的case语句        if self.fall or not args:            return True        elif self.value in args:            self.fall = True            return True        else:            return False

注:通过yield关键字,可以让函数在循环中迭代,此外,调用StopIteration异常中断循环,并且,python中的所有循环都是通过StopIteration来终止的。

  • python中的循环语句有while语句、for语句,for … in … 循环通常与range()函数一起使用,range()函数返回一个列表,for … in … 遍历列表中的元素。注意python3中没有xrange()函数。
m = 10n = 20while m > 0:    m = m - 1    print(m)for k in range(-n,n+1):    if k > 0:        print("正数:",k)    elif k==0:        print("零:",k)    else:        print("负数:",k)else:    print("循环结束!")  
  • 使用break语句可以使程序跳出循环体,从而执行循环体之外的程序,break可以提前结束循环,注意,break语句不能运行在循环体或是分支语句之外。continue语句也可以用来跳出循环,但是与break语句不同的是,continue语句不会跳出整个循环体,只是跳出当前循环,然后继续执行后面的循环。
原创粉丝点击