一、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 开始。
【区别一下字符串运算符和算数运算符】
如: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)易于学习、阅读、维护、可移植性强、可扩展性强、可嵌入好、库源丰富。