0x01.关于python
- python是一门面向对象的脚本语言。
- Python 是一种解释型语言,没有编译这个环节。
- Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- Python支持GUI可以创建和移植到许多系统调用。
- 如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- 可以将Python嵌入到C/C++程序,让程序的用户获得"脚本化"的能力。
- Python提供所有主要的商业数据库的接口。
0x02.语法基础
1.缩进:
缩进是python的灵魂,缩进代表了代码语句的逻辑顺序。每四个空格(也可是两个)代表一个缩进。
注意: Tab是制表符,不是缩进符,用Tab代替缩进容易引起许多问题,一般情况下,最好不要使用Tab键,尽量手动输入四个空格。
2. 行
python不像java一样每个语句结束都要加上分号,python以新行作为语句的结束符,使用反斜杠 ( \ )可以将一行语句分在多行显示。
注意:同行显示多个语句可以使用分号隔开,意义一样。
3.引号
python可以使用多种引号表示字符串,单引号,双引号,三引号,单需要保证引号的开始和结束一致。
4.注释
单语句注释:#
多语句注释:""" """或''' '''
5.Linux下编写python程序
要在第一行加上 #!/usr/bin/python 来指定本脚本用什么解释器来执行。
6.指定中文编码格式
例如:# coding=utf-8 或 # -*- coding: UTF-8 -*-
0x03.变量类型
python自动识别变量类型,使用变量时不需要先申明变量类型,但每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
标准数据类型:
Numbers(数字) |
String(字符串) |
List(列表) |
Tuple(元组) |
Dictionary(字典) |
1.数字
数字类型:
int(有符号整型) |
long(长整型) |
float(浮点型) |
complex(复数) |
注意事项:
- Python使用 L 来显示长整型。
- 浮点数的运算则可能会有四舍五入的误差。
- 复数由实数部分和虚数部分构成,虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数。
- 复数的实数部分和虚数部分都是浮点数
- 虚数部分必须有后缀j或J。
- 整形:长度不受限制;
- 浮点型:有小数点就是浮点型,否则是整形(小数点用来区分整形和浮点型);
- e记法:科学计数法
- bool:bool类型中的True表示1,False表示0,可用于计算,但是bool类型参与计算时不恰当。
- python3支持中文变量
复数的使用:
num=11-23j
print (num.real) # 打印实部 输出12.0
print (num.imag) # 打印虚部 输出-23.0
2.数据类型转换
python中的数据类型转换可以借助内置函数强行转换。
0x04.运算符
1.算数运算符:
+ - * / % | 和C++,java一样 |
** | a**b,a的b次幂 |
// | 向下取整,4/3=1,-4/3=-2 |
2.比较运算符:
与C++,java一致。返回布尔类型。
== | != |
> | < |
>= | <= |
3.赋值运算符:
在算数运算符的后面加上=。
== | += |
-= | *= |
/= | **= |
%= | //= |
4.逻辑运算符:
和C++,java不一样,不是直接使用&& || !。
and | 且 |
or | 或 |
not | 非 |
5.位运算符:
& | 按位与运算,如果两个位都为1,则为1,否则为0 |
| | 按位或运算,如果两个位都为0,则为0,否则为1 |
^ | 按位异或运算,如果两个位不同,则为1,否则为0 |
~ | 按位取反运算符,1变0,0变1 |
<< | 二进制所有位向左移,高丢低补0,如<<2 |
>> | 二进制所有位向右移,高补0低丢,如>>4 |
6.成员运算符:
in | a in b,a是否在b中 |
not in | a not in,a是否不在b中 |
0x05.条件语句
注意事项:
1.每一个if,elif,else后都要加上冒号 :
2.如果if后只有一条语句,可以写在同一行。
2.python不支持switch语句。
0x06.循环语句
1.for循环
格式:
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
python的for循环围绕着迭代展开,主要应用与主要的数据结构中,非常像java的增强for循环,想像C++,java控制循环的话,可以这样做:
使用range函数创建一系列的整数。
a=0
for i in range 100:
a+=i
可以这样理解,每次从后面的结构中取出一个元素,把它赋值给迭代变量,当后面那个结构没有了的时候,循环结束。
range函数用法:
#用于生成一系列整数到列表中
range(start,stop,step)
'''
start 开始的整数,默认为0
stop 结束的整数
step 步长,默认为0
'''
后加else语句:
循环正常退出时(不是通过break跳出的),就执行else语句的内容,注意有分号。
for i in range(101):
print(i)
else:
print("for循环正常退出啦")
2.while循环
格式:
while 判断条件(condition):
执行语句
3.break,continue
这两个关键字的用途和C++,java类似,break跳出一层循环,continue跳出一次循环。
4.pass
空语句,做占位语句。
0x07.基本的输入输出
1.基本输出中的注意事项(print)
- print输出后自动换行
- 在输出字符串的时候,会有一些转义字符的使用,若想使用本来的语句,可以在字符串前面加上 r ,如果本来是属于转义字符,可以加上 \ 使用原来的字符。
- python2可以使用 print "字符串",python3必须加上括号 print(" 字符串 ")。
- python没有printf。
- 使用三重引号可以输出长字符串。
- 长字符串和代码中的格式一样。
- 在print中输入一个字符串*一个数字,会得到很多个相同的字符串
- 在print中可以对字符串用''+"拼接
print的格式化输出使用:(占位符)
str="python"
print("你好 %s"%(str))
print的格式化输出使用:(字符串format)
print("你好{0},你的余额是{1:.2f}".format("ATFWUS",322))
#{0}代表占位符和format里的参数对应,{1:.2f},冒号后是格式控制,代表保留两位小数
2.基本的输入注意事项(input)
- 使用
input([prompt])
读取一行,将其转换为string
类型并返回,input
的参数可有可无,如果有参数的话,会在控制台(可以这样理解)输出参数的内容,不换行。通常情况下我们在控制台输入一些数据,然后敲击回车,就完成了本次输入。 - input获取的数据都将被看作字符串处理。
- 可以在接受数据的时候立即将数据进行强制转换(先要判断是否可以转换)。
a=input("请输入一个浮点数")
if(isinstance(a,float)):
b = 3.4
print(a + b)
else:
print("输入有误")
0x08.函数的基本使用
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
- 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
- 函数参数可以指定默认参数,若未传入该参数,则使用默认参数,若传入了,则使用传入的参数。