最近涉及到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. 【阿里聚安全·安全周刊】Python库现后门 可窃取用户SSH信息|Facebook再曝300万用户数据泄露

    本周七个关键词:Python库现后门丨Facebook再曝数据泄露丨加密协议被曝严重漏洞丨英国报摊将出售"色情通行证"丨HTTPS的绿色锁图标丨机器学习和预测应用的API丨Ecli ...

  2. SpringBoot如何新建一个项目 2017.12.14

    http://blog.csdn.net/q649381130/article/details/77875736  从入门到精通

  3. Go的context的问题

    Go的context的问题 2017-05-29 最近被由context引发的一个bug坑得不轻,所以反思一下Go的context的问题. context是隐式的约束,没有检测 如果我们写一个函数,比 ...

  4. AMBA总线协议AHB、APB

    一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...

  5. Python + Appium 【已解决】driver(session)在多个class之间复用,执行完一个类的用例,再次执行下个类的用例时不需要初始化

    实现效果:打开App进行自动化测试,只需打开APP一次,按先后顺序执行n个py文件中的相应操作,实现自动化测试. 示例:如截图示例,一个App,根据此APP内不同的模块,写成了不同的py文件, 预期结 ...

  6. SpringBoot之旅第二篇-配置

    一.引言 虽然springboot帮我们进行了自动配置,但配置还是不可避免的,比如最简单的端口号,数据库连接.但springboot的配置一般不用xml进行配置,而是yml和properties,选择 ...

  7. 【JVM虚拟机】(6)---深入理解Class中访问标志、类索引、父类索引、接口索引

    JVM(6)访问标志,类索引 上一篇博客讲[JVM虚拟机](5)---深入理解JVM-Class中常量池 我们知道一个class文件正常可以分为7个部分: 魔数与class文件版本 常量池 访问标志 ...

  8. CSS fixed 定位元素失效的问题

    一个示例 考察下面的代码: <head> <title>css filter issue</title> <style> body { height: ...

  9. [Leetcode]643. Maximum Average Subarray I

    Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...

  10. SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)

    前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring B ...