python3基础概念

一、python的基本语法:
  1)编码:默认情况下,python3源码文件以UTF-8编码,所有字符串都是Unicode字符串,当然也可以为源码文件指定不同的编码。
    如:# -*- coding: cp-1252 -*-
  2)标识符:第一个字符必须是字母或下划线_,对大写敏感。
  3)python保留字:关键字,不能用作于任何标识符名称,python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:
    如:>>>import keyword
      >>>keyword.kwlist
  4)注释:单行注释:#;多行注释:""" """ 或 ''' '''。
  5)缩进:python最具特色的就是使用缩进来表示代码块,不需要使用{}。缩进不一致,会导致运行错误的。
  6)多行语句:python一般都是一行写完一条语句的,但是语句长的话,可以使用反斜杠'\'来实现多行语句:
    如:total = i + \
           j + \
             z
  7)数字类型:int(直接表示为长整型,没有long类型)/bool/float/complex(复数)【python2中是没有bool类型的,用0和1表示,到python3才把true和 false定义成关键字,但是他们的值还是1和0,他们还可以和数字相加】
  8)字符串:python不支持单字符类型,单字符在python中也是作为一个字符串使用。
    1、python中单引号和双引号使用没有差别的;
    2、使用'''或"""可以指定一个多行字符串;
    3、反斜杠可以用来转义,使用r可以让反斜杠不发生转义:如r"I love china \n",\n会正常输出,但不是换行。
    4、按字面意义级联字符串:如“this” “is” “string”会被自动转换为this is string。
    5、Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

         

    6、字符串可以用 + 运算符连接在一起,用 * 运算符表示复制当前字符串,紧跟的数字为复制的次数。【区别一下字符串运算符和算数运算符】
      如:print(str * 2)# 输出字符串str两次。
    7、字符串的截取语法格式:变量【头下标:尾下标:步长】

      

 

      如:>>>print(str[2:5]) 输出从第三个开始到第五个的字符(不包括尾下标自己)。

        >>>print(str[0:-1]) 输出第一个到倒数第二个之间的所有字符。

    8、python中的字符串不能改变。向一个索引位置赋值,如str[0] = 'a'会导致错误。

    9、python没有单独的字符类型,一个字符就是长度为1的字符串。
  9)空行:与代码缩进不同,空行不是python语法的一部分,但是it是程序代码的一部分。书写时不插入空行,python解析器运行也不会出错。空行的作用在于分隔两段代码,便于代码日后维护。
  10)python代码中的语句不用分号结束,但是分号可以用于在同一行中显示多条语句,执行多条语句。
  11)输入:执行下面的程序在按回车键后就会等待用户输入:input("\n\n按下enter键后退出。")。"\n\n"在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
  12)输出:print:默认输出是换行的,如果要实现不换行需要在变量末尾加上end=“”。如:print( x, end=" " )。
  13)导入:import 或 from...import
  14)命令行参数:很多程序可以执行一些操作来查看一些基本信息,Python可以使用-h参数查看各参数帮助信息。

  15)字符串格式化:python支持格式化字符串的输出:将一个值插入到一个有字符串格式符%s的字符串中。

    如:print ("我叫 %s 今年 %d 岁!" % ('华师学子', 25))

    一些常用的python字符串格式化符号:

      a、%c:格式化字符及其ASCLL码。

      b、%s:格化式字符串。

      c、%d、%u:格式化整数、格式化无符号整型。

      d、%o、%x/X:格式化无符号八进制和十六进制(大写)。

      e、%f:格式化浮点数字,可指定小数点后的精度。

  16)f-string:字面量格式化字符串:以f开头,后面跟着字符串,字符串中的表达式用大括号{}包起来,它会将变量或表达式计算后的值替换进去:

    如:>>>name = 'yang'

      >>>f'hello {name}' #替换变量输出:‘hello yang’

    再如:>>>f'{1+2}' #使用表达式输出‘3’

    再如:>>> w = {'name':'yangrongkuan','age':'26'}

       >>>f'{w["name"]}:{w["age"]}' #输出‘yangrongkuan:26’

  17)字符串的一些内建函数:

    a、capitalize():将字符串的第一个字符转换成大写。

    b、count(str,beg,end):返回str在字符串中出现的次数,如果有指定beg/end则返回指定范围内str出现的次数。 

     c、find(str,beg,end):检测str是否在字符串中,如果有指定beg/end则检测是否在指定范围内。如果在则返回开始的索引值,否则返回-1.

    d、index(str,beg,end):跟find方法一样,只不过如果str不在字符串中会报一个异常。

    e、lower():转换字符串中所有大写字符为小写。

    f、upper():转换字符串中的小写字母为大写。

二、python和C++的比较:

  1)运行效率上:python运行速度没C++的快:首先,python的封装性更强,通俗点来说,与C++相比,python转化为机器语言的时间要更长。其次,python是解析执行的,和物理机CPU之间多了解析器这层,而C++是编译执行的,直接就是机器码,编译的时候编译器又可以做一些优化。
  2)开发效率上:python是要十分优于C++:python一两句代码就能搞定的事情,C++往往要写一大堆。

三、python3特点:

  1)一种解释性语言:意味着开发过程没有编译环节。
  2)交互式语言:意味着可以在python提示符>>>后直接执行代码。
  3)面向对象语言:意味着python支持面向对象的风格或代码封装在对象的编程技术。
  4)易于学习、阅读、维护、可移植性强、可扩展性强、可嵌入好、库源丰富。

posted @ 2019-12-18 13:21  scnu-yang  阅读(283)  评论(0编辑  收藏  举报