python的基本编程规范与常识
python的编程规范是PEP8
python脚本以.py后缀结尾,脚本内容语句不以分号结尾
多行语句
Python语句中一般以新一行作为语句的结束符,因此不以分号结束语句。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:
a = 1+\
2
python是严格按照缩进的语言,不可随意空格
学习 Python 与其他语言最大的区别就是:
Python 的代码块不使用大括号 { } 来控制类,函数以及其他逻辑判断。
python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
python变量定义的规范:
a = 1
小写字母 赋值符号两边有空格
变量命名规则:(强制性的,是语法限制;而上面的规范只是一种良好习惯)
第一个字符必须是字母或者下划线“_”
剩下的部分可以是字母、下划线“_”或数字(0-9)
和c一样,变量名称是对大小写敏感的,myname 和 myName 不是同一个变量。
" "弱引用
' '强引用
\ 对于特殊字符进行转义
print中,加引号的话,是字符串;而不加引号的话,会被自动地辨别为变量
python中的变量以及数据类型
变量就是对内存地址空间的引用
a=1
这其实不是赋值,而是让a去引用1的这个内存地址
4种基本类型:
字符串 str
整数 int (python3中无long长整型,均为整型int)
浮点数 float
布尔值 boolean
这些基本类型是根据具体的常量的值来划分的,而变量中并不区分具体类型
同一个变量的类型随着其引用的具体的值而改变:
a=123
a="123"
数据类型之间的转换:
int(a)
将a的值转换为int整型输出,但是并不改变a所引用的内存空间的数据值的类型(属性)
但是无法将字母,特殊字符,等字符串转换为整型
type( ) 判断值的数据类型
bool( ) 判断值的真假
内存中删除一个变量:
del a
删除内存中定义的变量a
python 2 与 python 3 的几点区别
以下只是几点去区别,更多可以参见下面的网址:
https://www.runoob.com/python/python-2x-3x.html
(1)print
python2
使用的是print语句
python3
print语句没有了,取而代之的是print()函数。
因此,输出字符串作为函数的参数,要在括号内
Python 2.6与Python 2.7部分地支持这种形式的print语法。
在Python 2.6与Python 2.7里面,以下三种形式是等价的:
print "fish"
print ("fish") #注意print后面有个空格
print("fish") #print()不能带有任何其它参数
(2)默认编码
python2
默认使用ASCII编码,无法识别中文
python3
默认使用UTF-8编码,可以识别中文
在脚本中加入声明,声明使用的是utf-8的编码:
# _*_coding:utf-8_*_
此时可以令python2的解释器识别中文
(3)除法运算
python2
在python 2.x中,整数相除的结果是一个整数,把小数部分完全忽略掉。
浮点数除法会保留小数点的部分得到一个浮点数的结果。
python3
在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数,//表示取整。
相对于取整,还有取余运算%
(4)数据类型
python2
python2中有long长整型及其他的数据类型,int,float,str,boolean
python3
去除了long类型,现在只有一种整型——int
(5)input函数
python2
input 函数(只接受数值型的) raw_input(将输入都作为字符型输入)
python3
input 函数(既可以接受数值型也可以接收字符型的,但是都默认输入进来的数据以字符型处理)
(6)不等运算符
python2
Python 2.x中不等于有两种写法 != 和 <>
python3
Python 3.x中去掉了<>, 只有!=一种写法
python中的输入与输出
读取输入数据:
上面也提到了,python2中使用input( ),raw_input( )两个函数进行输入数据的读取
而python3中只有input( )函数,没有了raw_input()函数
python3:
input ( )
python用内置函数input()实现标准输入,接收任意数据类型
Python3.X中没有raw_input()
import getpass 导入模块(库)
num = getpass.getpass('请输入密码:')
该方法不会将输入数据回显
输入数值比较大小:
如果接收到的数值要进行比较的时候,一定要转换为同一种类型
由于input默认是字符串所以不能用字符串和数字进行比较
所以要先将字符串转换成int值才可以进行比较
格式化输出:
在python中可以使用print函数将信息输出到控制台。
如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符%
格式化操作符是专门用于处理字符串中的格式
包含%的字符串,被称为格式化字符串
%s 字符串
%d 有符号十进制整数
%f 浮点数
%% 输出%
%.3d 表示将变量作为整型输出,并保证3位有效数字,数值本身不足三位,则前补0补足
%.2f 表示小数点后只显示两位,只保留两位小数;默认保留浮点数的6位小数
格式化输出,是指将变量作为什么类型,什么格式输出,不一定就是变量本身的类型
比如:int变量完全可以使用%s,作为字符串输出
Python 运算符
算术运算符:
+ 加 两个对象相加
- 减 得到负数或是一个数减去另一个数
* 乘 两个数相乘或是返回一个被重复若干次的字符串
/ 除 x除以y
% 取模 返回除法的余数
** 幂 x**y 返回x的y次幂
// 取整除 返回商的整数部分(向下取整)
赋值运算符:
= 赋值运算符
(以下均为复合赋值运算符,相当于执行了赋值符前的运算符号后,再进行赋值)
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符
关系运算符:
>:大于
<:小于
>=:大于等于
<=:小于等于
==:等于。比较两个值是否相等。之所以用两个等号,是为了和变量赋值'='区分开来。
!=:不等与
以上运算结果为逻辑值,布尔值
逻辑运算符:
not:逻辑“非”
如果 x 为 True,则 not x 为 False
and:逻辑“与”
如果 x 为 True,且 y 为 True,则 x and y 为 True;否则为Flase
or:逻辑“或”
如果 x、y 中至少有一个为 True,则 x or y 为 True;否则为Flase
以上运算结果为逻辑值,布尔值
对于数值型,非0为真
对于字符型,非空为真