Python操作Excel(1)

一、 Python发展历史

  • 起源
    Python的作者是著名的“龟叔”Guido van Rossum,他希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。龟叔从ABC语言看到希望,ABC语言是由荷兰的数学和计算机研究所开发的。龟叔也参与到ABC语言的开发。由于一系列原因ABC并没有快速传播使用。因此,龟叔开始写Python语言。
  • 诞生
    1989年,龟叔为了打发无聊的圣诞节,开始编写Python语言。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。
  • 启示
    Python从刚开始龟叔给它定位就是“优雅 ”,“明确”,“简单”,所以Python程序看上去总是简单易懂。Python现在在TIOBE的排行榜中呈上升趋势。
    荣登2018年TIOBE年度最佳编程语言,很多大公司,包括google、Yahoo甚至NASA都大量的使用Python。每个语言都是混合体,都有它优秀的地方,但是也有缺陷。同时一个语言的好坏,往往还受制于硬件、平台、时代等等外部原因。以一个开放的心态来接受各个语言。说不定哪一天,你也可以像龟叔一样,混合出自己的语言


官 网:https://www.python.org/

安装Python解释器

注意将Add Python 3.6 to PATH 勾选

集成开发环境 IDE

我们使用Pycharm
下载地址:http://www.jetbrains.com/pycharm

在Pycharm上运行第一个Python应用程序

  • 输出自己的名字
name = input ('亲输入您的名字')
print('你的名字是:', name)

if-else判断语句

格式

if 要判断的条件:
        条件成立时,要做的事情
else:
        不满足条件时要做的事情
  • Demo
age = input('请输入您的年龄')
age = int(age)
if age >= 18:
    print("你已经成年了,可以去网吧了")
else:
    print("对不起,你还是个宝宝")

elif

格式:

 if xxx1:
        事情1
  elif xxx2:
        事情2
  elif xxx3:
  else:     
        事情3

elif必须和if一起使用,否则出错

  • Demo2
    查找水仙花数

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方

# 查找水仙花数
num = 163
i = int(num / 100)  # 取百位
print(i)
j = int(num / 10 % 10)  # 取十位 
print(j)
k = int(num % 10)
print(k)  # 取个位
result = i * i * i + j * j * j + k * k * k
print(result)
if result == num:
    print('是水仙花数')
else: 
    print('不是水仙花')

循环

一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成

for循环

  • for循环的格式:
 for 临时变量 in 列表或者字符串等:
        循环满足条件时执行的代码
name = 'neusoft'

for x in name:
  print(x)
  • demo2
for i in range(100):
    print('老婆这是我对你说第{}次对不起了'.format(i))

字符串

双引号或者单引号中的数据,就是字符串

  • 下标
    所谓“下标”,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间
name = 'abcdef'
print(name[0])
  • 切片
    切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

    切片的语法:[起始:结束:步长]
    注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。

我们以字符串为例讲解。

name = 'abcdef'
print(name[0:5]) # 取 下标为0~4 的字符
print(name[2:]) # 取 下标为2开始到最后的字符
print(name[1:-1]) # 取 下标为1开始 到 最后第2个之间的字符 bcde
print(name[[5:1:-2) ] # fd

列表

比C语言的数组强大的地方在于列表中的元素可以是不同类型的

  • 创建及访问,遍历
namesList = ['xiaoWang','xiaoZhang','xiaoHua',111]
print(namesList)
print(namesList [0])
for name in namesList:
        print(name)
  • 列表的相关操作
    1.添加元素
    通过append可以向列表添加元素
skills = ['河豚手雷', '无敌鲨嘴炮', '空中支援']
skills.append('火力压制')
print(skills)

2.删除

skills = ['河豚手雷', '无敌鲨嘴炮', '空中支援']
skills.append('火力压制')
print('before', skills)
del skills[3]
print('after', skills)

3.修改

skills = ['河豚手雷', '无敌鲨嘴炮', '空中支援']
skills.append('火力压制')
print('before', skills)
skills[3] = 'piupiupiu'
print('after', skills)
  1. 查找
    in(存在),如果存在那么结果为true,否则为false
    not in(不存在),如果不存在那么结果为true,否则false
skills = ['河豚手雷', '无敌鲨嘴炮', '空中支援']
find_skill = '河豚手雷'
if find_skill in skills:
    print('该技能存在')
  • 拓展:列表推导式

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

  • 访问
a_skills = ('河豚手雷', '无敌鲨嘴炮', '空中支援',1000)
print(a_skills[0])
  • 修改会报错
a_skills = ('河豚手雷', '无敌鲨嘴炮', '空中支援',1000)
a_skills[0] = 1111
TypeError: 'tuple' object does not support item assignment

只有一个元素的元组

a_skills = (1000,)

字典

字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的

  • 创建及访问
hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
print(hero['name'])

若访问不存在的键,则会报错:
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值

hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
mingwen = hero.get('mingwen', '治疗') # 返回默认值'治疗'
print(hero)
print(mingwen)
  • 修改
hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
hero['grade'] = 15
print(hero)
  • 添加
    如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
hero['mingwen'] = '闪现'
print(hero)
  • 删除
  1. del
hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
hero['mingwen'] = '闪现'
print(hero)
del hero['mingwen']
print(hero)
  1. clear
hero = {'name': '伽罗', 'grade': 13, 'type': '射手'}
hero['mingwen'] = '闪现'
print(hero)
hero.clear()
print(hero)
print(type(hero))

字典的常见操作

  1. len()测量字典中,键值对的个数
  2. keys 返回一个包含字典所有KEY的列表
    3.values 返回一个包含字典所有value的列表
    4.items 返回一个包含所有(键,值)元祖的列表

函数

如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数

  • 定义函数的格式如下:
def 函数名():
        代码
通过 函数名() 即可完成调用
  • 例子: 计算1~num的累加和
# 计算1~num的累加和
def caculateNum(num):
    result = 0
    for i in range(1, num+1):
        result = result+i
        result += i
    return result

res = caculateNum(100)
print(res)

匿名函数

用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression

 sum = lambda arg1, arg2: arg1 + arg2

    #调用sum函数
    print "Value of total : ", sum( 10, 20 )
    print "Value of total : ", sum( 20, 20 )

Lambda函数能接收任何数量的参数但只能返回一个表达式的值

匿名函数不能直接调用print,因为lambda需要一个表达式

  • 作为内置函数的参数
stus = [
    {"name":"zhangsan", "age":18},
    {"name":"lisi", "age":19},
    {"name":"wangwu", "age":17}
]
stus.sort(key = lambda x:x['name'])
stus.sort(key = lambda x:x['age'])

作业 :
找到所有的水仙花数

模块的导入

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容