Python 基础学习的几个小例子
最近在研究动态脚本语言 Python , 出于对其语言精简度的喜欢及大学时期对 matlab 这样的数学领域语言的怀念, 再加上笔者是C++起家,Python中所涉及的del机制与特殊方法重载(类比于c++中的运算符重载)等
, 让笔者不自觉地玩起了 Python 。关于Python 发展历程与基本语法这里不再多说,主要记录一下学习过程中敲的一些样例代码。
首先介绍一下最基本的多行、带中文字符和特殊字符的字符串打印:
# -*- coding: utf-8 -*-
#注意在首行加上上面这行注释,否则解释器会报错 print r'''中文测试/('')
来个高难度的‘’/*
哈哈!()""
'''
关于带默认参数、可变参数的自定义函数及偏函数:
import functools print '------------ 自定义默认参数函数 -----------------' def power(x,n = 2):
s = 1
while n > 0:
s = s * x
n = n - 1
return s print power(3)
print power(3, 3) print '------------ 算定义可变参数 -----------------' def fn(*args):
print args print fn(36,'',47) print '------- 函数默认参数 -----'
def myInt2(x,n = 2):
return int(x,n)
print myInt2('') print '------------ partial -----------------'
int2 = functools.partial(int,base = 2)
print int2('')
生成列表打印及其在条件过滤和嵌套循环中的应用:
print '------------直接打印------------'
print range(0,13) print '------------生成列表---------------'
print [x * x for x in range(1,8)] print '-------------- 生成列表的高级用法 ------------------'
d = { 'Adam': 90, 'Lisa': 80, 'Bart': 68}
tdList = ['<tr><td>%s</td><td>%s</td></tr>' % (name,score) for name,score
in d.iteritems()]
print '<table>'
print '<tr><th>Name</th><th>Score</th></tr>'
print '\n'.join(tdList)
print '</table>'
print tdList print '------------------ 列表条件过滤 ------------------'
print [x * x for x in range(1,11) if x % 2 != 0] print '------------- 两种方式 实现多层嵌套打印 ----------------'
print '------------ 1.传统方式 -----------'
L = []
for m in 'ABC':
for n in '':
L.append(m + n)
print L print '------------- 2.生成列表 ---------'
print [m + n for m in 'abc' for n in '']
关于迭代,这里以dict的迭代为例:
print '------------ enumerate ---------------'
L = ['Adam','Lisa','Bart','Paul'] for index,value in enumerate(L):
print index,'-',value print '------------- iteration of dict -----------'
d = {'Adam': 95, 'Lisa': 80, 'Bart': 60} print '------ 直接打印值 --------'
print d.values() print '------ 普能迭代 --------'
for v in d.values():
print v print '------ 省内存迭代 --------'
for v in d.itervalues():
print v print '------ 直接打印键值对 --------'
print d.items() print '------ 键值一起迭代 --------'
for k,v in d.iteritems():
print k,':',v
最后提一下lambda函数,感觉它跟生成列表一样,能帮助使用者快生成一个自定义函数:
f = lambda x: x * x
print f(3) myabs = lambda x: -x if x < 0 else x
print myabs(-11)
print myabs(12)
Python 基础学习的几个小例子的更多相关文章
- (一)python基础学习
根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...
- python基础学习(起步)
目录 python基础学习(起步) 变量 常量 变量的内存管理 python垃圾回收机制 变量的其他赋值方式 今日编程小题 本人能力有限,若有偏颇之处请读者大大不吝赐教! 祝大家每天都在成长! pyt ...
- Python基础学习五
Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...
- Python基础学习四
Python基础学习四 1.内置函数 help()函数:用于查看内置函数的用途. help(abs) isinstance()函数:用于判断变量类型. isinstance(x,(int,float) ...
- python基础学习9
python基础学习 内容概要 字符编码的简介 字符编码的发展史 字符编码的实际应用 文件操作简介 文件读写模式 文件操作模式 文件操作方法 内容详情 字符编码的简介 # 字符编码主要研究的对象是文本 ...
- python基础学习8
python基础学习8 内容概要 字典的内置方法 元组的内置方法 集合的内置方法 垃圾回收机制 内容详情 字典的内置方法 一.类型转换 res = dict(name='jason', pwd=123 ...
- Day1 Python基础学习
一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- Day1 Python基础学习——概述、基本数据类型、流程控制
一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...
随机推荐
- Postman如何进行参数化
前言 Postman作为一款接口测试工具,受到了非常多的开发工程师的拥护. 那么做为测试,了解Postman这款工具就成了必要的了. 这篇文章就是为了解决Postman怎么进行参数化的. 全局变量 全 ...
- OpenCV手工实现灰度及RGB直方图
手工实现灰度及RGB直方图 !库 1. 灰度图像直方图 算法 1. 图片灰度化: 2. 遍历Mat,统计各灰度级的像素个数: 3. 根据opencv画点线函数,绘制坐标轴及像素分布图 源码(编译环境: ...
- Computer Vision_33_SIFT:Improving Bag-of-Features for Large Scale Image Search——2010
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- docker alpine wkhtmltopdf
截止2019.08 wkhtmltopdf 还没有 alpine 的版本 如需使用 需要在 alpine 环境中编译 生成 wkhtmltopdf (使用 apk add wkhtmltopdf ...
- pymysql 1064, 'You have an error in your SQL syntax; check the manual that corresponds to
在python 连接mysql时,最近一直出现了 1064, 'You have an error in your SQL syntax; check the manual that correspo ...
- contos 6.6下安装lamp
安装篇 第一步:配置防火墙(默认情况下,端口80和3306是拒绝访问的,在防火墙上进行配置): vi /etc/sysconfig/iptables(在"COMMIT"的上一行加上 ...
- spark not serializable异常分析及解决方案
转载自: http://bigdataer.net/?p=569 1.背景 在使用spark开发分布式数据计算作业过程中或多或少会遇到如下的错误: Serialization stack: objec ...
- Python+request 测试结果结合unittest生成测试报告《四》
测试报告示例图: 目录结构介绍: 主要涉及更改的地方: 1.导入 Common.HTMLTestRunner2文件 2.run_test.py文件中新增测试报告相关的代码 具体代码实现: 1 ...
- python集合以及编码初识
一.集合 set 集合是无序的,天然能去重,是可变的.例:s = {1,2,3,4,5} s = {} s1 = {1} print(type(s)) # 空{}就是字典 print(type(s1 ...
- Centos7下Nexus3的安装和配置
参考文档:https://help.sonatype.com/repomanager3 1.要使用nexus服务需要安装jdk和maven 1.1.jdk下载地址:https://www.oracle ...