最近涉及到python的东西比较多,抽一点时间把基础语法规整下。

1、面向对象

#coding=utf-8

def _class_test_01():

    s = squire(3,4)

    print("width %d lenth %d area is %d"
%(s.width, s.length, s.calc_area())) class squire: width = 0
length = 0 #构造函数
def __init__(self, w, l): self.width = w
self.length = l def calc_area(self):
return self.width * self.length

2、列表、字典、元组

#coding=utf-8

def _container_test_01():

    # 列表
l_temp = ['fredric','fed', 'other','base'] # 获取长度及切片
print("len: "
+ str(len(l_temp)) # 长度 3
+ " value 1:3 "
+ ''.join(l_temp[1:3])) # fredother # 遍历列表
for item in range(0, len(l_temp)):
print(l_temp[item]) # 出队列
print(l_temp.pop(1)) # 注意insert会替换原来的值
l_temp.insert(1, 'hi')
print(l_temp) # fredric hi other # 排序
l_temp.sort() # 根据字母排序
print(l_temp) def _container_test_02(): #元组
t_temp_01 = (1,2,3,4,5)
t_temp_02 = (6,7) # 元组的数据不允许修改,但可以拼接
t_temp_03 = t_temp_01 + t_temp_02 print("len: %d value[1]: %d max: %d min: %d"
%(len(t_temp_03), t_temp_03[1],
max(t_temp_03), min(t_temp_03))) def _container_test_03(): # 字典
d_temp = {"username":"fredric", "password":"fredricpwd", "note":"none"} print(d_temp["username"])
print(d_temp["password"])
print(d_temp["note"]) del d_temp["note"] # 遍历字典
for key in d_temp.keys():
print(key + " " + d_temp[key]) d_temp.clear() print("key len after clear: %d" %(len(d_temp.keys())))

3、文件操作

#coding=utf-8
import fileinput def _file_test_01(): config = {} #db.cfg 中数据如下:
# host = 192.168.0.1
# db = test
# username = root
# password = root
for line in fileinput.input('./config/db.cfg'): key = line.split("=")[0].strip()
value = line.split("=")[1].strip() config.update({key:value}) # 打印保存在字典里的key/value
for key in config.keys():
print(key + " " + config[key])

4、语句流程

#coding=utf-8

# 该全局变量可以被使用
status = False def _flow_test_01(): v_str_01 = "abcdefg"
count = 0
global status while (count < len(v_str_01)): if v_str_01[count] == 'd': #此时修改的是全局变量status,如果没有上面局部变量的定义,则为一局部变量
status = True break elif v_str_01[count] == 'f': status = True break else:
status = False; count += 1 if True == status: print("get value: " + v_str_01[count])

5、http POST JSON数据

#coding=utf-8

import http.client, urllib.parse
import json # POST请求测试,请求和返回都是JSON数据
def _http_test_01(): str = json.dumps({'username':'fredric'}) headers = {"Content-type": "application/json",
"Accept": "text/plain"} conn = http.client.HTTPConnection("127.0.0.1" ,3000) conn.request('POST', '/dopost', str, headers)
response = conn.getresponse()
data = response.read().decode('utf-8') # 打印返回的JSON数据
print(json.loads(data)["res"])
print(json.loads(data)["data"]) conn.close()

6、mysql数据库操作

#coding=utf-8

#采用pip install PyMysql安装
import pymysql
import sys def _mysql_test_01(): db = pymysql.connect("localhost","root", "root", "demo") cursor = db.cursor() insert_sql = "INSERT INTO myclass(id, \
name, sex, degree) \
VALUES ('%d', '%s', '%d', '%d')" % \
(3, 'fred', 20, 2000) try:
cursor.execute(insert_sql)
db.commit()
except:
# 此处捕获异常,诸如主键重复时打印:pymysql.err.integrityerror
print("Error: insert failed:", sys.exc_info()[0])
db.rollback() select_sql = "SELECT * FROM myclass" try: cursor.execute(select_sql) results = cursor.fetchall()
for row in results:
print ("id=%d,name=%s,sex=%d,degree=%d" %(row[0], row[1], row[2], row[3]))
except: print ("Error: select failed", sys.exc_info()[0]) db.close()

7、字符串

#coding=utf-8

def _string_test_01():

    v_temp = "test string value"

    # 首字母大写
print(v_temp.capitalize()[0]) # 部分字符串
print(v_temp[0:3]); # 循环遍历字符串
for item in range(0, len(v_temp)):
print(v_temp[item]) def _string_test_02(): v_str_01 = "start"
v_str_02 = "end" v_str_list = [v_str_01, " ", v_str_02] # 字符串拼接
res = "".join(v_str_list)
print(res) # 字符串替换
print(res.replace('start', 'hello start')) def _string_test_03(): v_str_03 = "" v_int_01 = 0; # 字符串转整数,后面的8 代表8进制的整数
v_int_01 = int(v_str_03, 8) print(v_int_01 == 14)

8、线程

#coding=utf-8
import _thread
import threading
import time lock = threading.Lock() def _thread_test_01(): try:
_thread.start_new_thread( _do_thread, ("thread_01",1,))
_thread.start_new_thread( _do_thread, ("thread_02",2,))
_thread.start_new_thread( _do_thread, ("thread_03",3,)) except:
print ("Error: 无法启动线程") while 1:
pass def _do_thread(name, delay): print("start thread %s " %(name)) #获取锁
lock.acquire() time.sleep(delay) print("%s: %s" % (name, time.ctime(time.time()))) #释放锁
lock.release()

9、模块化(测试主函数)

# -*- coding:utf-8 -*-
import test_module.t_string as t_s_module
import test_module.t_flow as t_f_module
import test_module.t_container as t_c_module
import test_module.t_file as t_f_module
import test_module.t_thread as t_t_module
import test_module.t_http as t_h_module
import test_module.t_class as t_c_module
import test_module.t_mysql as t_m_module #t_s_module._string_test_01()
#t_s_module._string_test_02()
#t_s_module._string_test_03()
#t_f_module._flow_test_01()
#print(t_f_module.status) #全局变量
#t_c_module._container_test_01()
#t_c_module._container_test_02()
#t_c_module._container_test_03()
#t_f_module._file_test_01()
#t_t_module._thread_test_01()
#t_h_module._http_test_01()
#t_c_module._class_test_01()
t_m_module._mysql_test_01()

源码文件附带如下:

http://files.cnblogs.com/files/Fredric-2013/python.rar

python 基础语法梳理的更多相关文章

  1. python 基础语法梳理(二)

    1.gevent使用 # -*- coding: utf-8 -*- import gevent import platform from gevent import subprocess def _ ...

  2. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  3. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  4. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  5. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  6. Python 基础语法

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...

  7. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  8. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  9. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

随机推荐

  1. spring MVC(十)---spring MVC整合mybatis

    spring mvc可以通过整合hibernate来实现与数据库的数据交互,也可以通过mybatis来实现,这篇文章是总结一下怎么在springmvc中整合mybatis. 首先mybatis需要用到 ...

  2. 让Virtualbox复制出的虚拟机联网

    http://www.williamsang.com/archives/215.html vi /etc/udev/rules.d/70-persistent-net.rules 注释掉eth0的相关 ...

  3. golang map的判断,删除

    http://blog.sina.com.cn/s/blog_9e14446a01018q8p.html map是一种key-value的关系,一般都会使用make来初始化内存,有助于减少后续新增操作 ...

  4. vue简介

    vue的介绍 vue官网说:Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. vue的优点 1.易用 ...

  5. input 去掉点击后出现的边框

    添加属性 :focus{outline:none} 就可以去掉默认点击时,边框会出现的蓝色边框. :focus 选择器用于选取获得焦点的元素.提示:接收键盘事件或其他用户输入的元素都允许 :focus ...

  6. Python3.6安装报错 configure: error: no acceptable C compiler found in $PATH

    安装python的时候出现如下的错误: [root@master ~]#./configure --prefix=/usr/local/python3.6 checking build system ...

  7. Python中使用MongoEngine3

    最近重新拾起Django,但是Django并不支持mongodb,但是有一个模块mongoengine可以实现Django Model类似的封装.但是mongoengine的中文文档几乎没有,有的也是 ...

  8. Python web简约表白网页源码分享,时光不老,我们不散!

    演示站:c.lmz8.cn打开js/4.js,复制到工具箱的js代码整理那,先解密,方便查看.工具箱:tool.lmz8.cnjs代码整理.在线解码 这个便是文字,只不过呗转码了,所以要用到解码工具. ...

  9. Java 读书笔记 (一) 基本知识

    1. 基本概念 对象 对象是类的一个实例,有状态和行为. 例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有: 摇尾.叫.吃等. 类 类是一个模板,它描述一类对象的行为和状态. 方法 方法就 ...

  10. golang string和[]byte的对比

    golang string和[]byte的对比 为啥string和[]byte类型转换需要一定的代价?为啥内置函数copy会有一种特殊情况copy(dst []byte, src string) in ...