最近涉及到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. RestTemplate 微信接口 text/plain HttpMessageConverter

    一.背景介绍 使用 Spring Boot 写项目,需要用到微信接口获取用户信息. 在 Jessey 和 Spring RestTemplate 两个 Rest 客户端中,想到尽量不引入更多的东西,然 ...

  2. Django 的数据库查询

    class Blog(models.Model): name = models.CharField(max_length=100) tagline = models.TextField() def _ ...

  3. java,maven工程打tar.gz包执行main方法

    一,需要在pom.xml文件添加plugin, 项目目录结构 <build> <plugins> <plugin> <artifactId>maven- ...

  4. fastdfs group通过添加硬盘扩容

    通过给group的机器添加硬盘的方式,实现某个group的扩容. fastdfs在一台服务器支持多个store_path,每个store_path指向一个存储路径.url "M00/3F/E ...

  5. 第一篇:tz师兄【附面试题总结】

    本篇文章包含三部分: 师兄故事 面试经历 面试资源分享 师兄故事 tz师兄是一位及其低调的小伙,也是在班级中我比较欣赏的少年. 2017年大学毕业,原资源勘察工程专业. 大学期间自学java,之后进入 ...

  6. EffictiveC++笔记 第1章

    Chapter 一: 条款 1 :视 C++为一个语言联邦 (P41 ) c++其实可以视为有四个部分: C Object-Oriented C++ Template C++ STL 条款 2:尽量以 ...

  7. C# Vista Command Link Control with Windows Forms

    using System; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; u ...

  8. shell脚本添加实例化参数

    通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...

  9. ES踩坑笔记

    现在开始在业务上使用ES,记录一些踩坑经历,做点笔记. 2018-11-13 source不返回问题 使用了角色校验,客户端插入成功之后获取数据没有source,和查询参数无关. 检查mapping, ...

  10. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...