Python基础学习(一)基本语法
学习一门语言都要有一个helloworld,都要了解最基础的输入输出、注释、变量类型等基本的语法,对于其他的语法都是paper tiger。话不多说,我们一起来瞅瞅~~
特点
1、编程规范性
python语言与之前的C语言、CPP语言最直观的表现在于其没有分号,它以缩进,对齐来实现其结构,所以python对编程的规范要求比较高,如下我们展示python的一段编程。
for,if等以冒号代替花括号;
for it in range(9):
print(it)
print("end")
2、没有主函数
如上所示,写下的代码都可以运行,无需掉主函数。
3、语句太长,换行
语句太长可以用 \ 反斜杠换行,如下:
for (x,y,w,h) in faces:
img3 = cv.rectangle(img1,(x,y),(x+w,y+w),(255,0,0),2)
img4 = cv.putText(img3,'prepare %s picture'\ #这里换行
%str(count+1),(20,80),\#这里换行
cv.FONT_HERSHEY_PLAIN,2,(255,0,0))
f = cv.resize(img2[y:y+h,x:x+w],(200,200))
cv.imshow('13',img4)
打印函数
print函数是最基本的应用,python3中有括号,python2中没有括号。
print("hello,world!")
注释
python的注释用#表示,如果对多行注释的话,可以用’’‘在两个’’'之间的被注释掉。另外也可以改为"""三个双引号。
'''
本案例用来说明注释的作用。
'''
for it in range(9):#循环九次
print(it)#打印it
print("end")
"""
程序结束
"""
数字类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数), 如 1
bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j
输入输出
读取键盘输入
读取键盘输入可以用input语句
str1 = input("请输入字符串")
print(str1)
字符串格式化输出
字符串格式化输出类似于C语言的格式化输出。
用print打印一个字符串,可以在后面跟上%,后面存入前面%对应的变量。
a = 3.1415926
b = 1
c = 1.21
print('常量 PI 的值近似为:%5.3f。' %a)
print('b = %d,c = %.1f' %(b,c))
注意:其中格式化输出符号如下表所示,另外.1代表保留一位小数。5.3代表至少占5个字符3位小数。
新版格式化输出
新版格式化输出类似,采用{}表示一个字段,用.format()的参数替代.
举例:
>>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))
菜鸟教程网址: "www.runoob.com!"
>>> print('{0} 和 {1}'.format('Google', 'Runoob'))
Google 和 Runoob
>>> print('{1} 和 {0}'.format('Google', 'Runoob'))
Runoob 和 Google
也可以在{}中加入关键字
>>> print('站点列表 {0}, {1}, 和 {other}。'.format('Google',\
>'Runoob',other='Taobao'))
站点列表 Google, Runoob, 和 Taobao。
可选项 ‘:’ 和格式标识符可以跟着字段名。 这就允许对值进行更好的格式化。 下面的例子将 Pi 保留到小数点后三位:
a = 3.1415926
b = 1
c = 1.21
print('常量 PI 的值近似为:{0:.3f}'.format(a))
print('b = %d,c = %.1f' %(b,c))
如果你有一个很长的格式化字符串, 而你不想将它们分开, 那么在格式化时通过变量名而非位置会是很好的事情。
最简单的就是传入一个字典, 然后使用方括号 ‘[]’ 来访问键值 :
>>> table = {'Google': 1, 'Runoob': 2, 'Taobao': 3}
>>> print('Runoob: {0[Runoob]:d}; Google: {0[Google]:d}; Taobao: {0[Taobao]:d}'.format(table))
Runoob: 2; Google: 1; Taobao: 3
导入库
python可以导入自带库或者自己写的库,用到import语句。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数或者某个类,格式为: from somemodule import somefunction
从某个模块中导入多个函数或者多个类,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
import cv2 as cv #导入CV2库并给他换了个名字
import numpy as np
import os,sys
from CS231N_Data import load_CIFAR10#从我的CS231N_Data文件中导入load_CIFAR10类
from neural_net import TwoLayerNet