python学习

之前写了关于买房,保险的文章。不过,我是程序猿呀,还是写一点工作相关的文章吧。不要那么“不务正业”,哈哈。在麻瓜编程上学习了下python,写一下学习笔记。

一、字符串的连接

使用加号:print('asdf'+'13')输出asdf13

这点与PHP有所相同

二. 2.x版本与3.x版本的区别:

2.x:print 1/2 输出0

3.x:print(1/2)输出0.5,相对于其他编程语言,如C语言。这样有所不同,在一些情况下更为方便,其他时候容易造成混淆。

2.x版本要实现,可以写为:print(1.00/2)输出0.5

这里没有规定变量的数据类型。常量为默认的数据类型,如这里的1和2为整数型,1.00为浮点型,从而导致输出不同。

Python的设计者认为这么做不符合Python简单明了的特性,于是乎就在Python2.2以及以后的版本中增加了一个算术运算符" // "来表示整数除法,返回不大于结果的一个最大的整数,而" / " 则单纯的表示浮点数除法,但是,为了折中,所有2.X版本中,也是为了向后兼容,如果要使用" // ",就必须加上一条语句:

from __future__ import division

一看到这句," / "就表示 浮点数除法,返回浮点结果;" // "表示整数除法。

三、函数的默认参数

def trapezoid_area(base_up,base_down,height=3):

   return1/2*(base_up+base_down)*height

四、函数的默认参数的调用

默认参数

def trapezoid_area(base_up, base_down, height=3):

return1/2* (base_up + base_down) * height

print(trapezoid_area(1,2,4))

这样是可以的。

但是

print('a','aa','aaa',sep='\n')

print('a','aa','aaa','\n')

两者就是不同的,后一行语句中这里的'\n'会被当作普通的函数

defprint(self, *args, sep=' ', end='\n', file=None):# known special case of print

这是因为第二个参数是一个数组,无法判断结束

五、位置参数与关键词参数的混合传入调用

使用python 3.5.3测试的结果为:后面为关键词参数传入可以,但如果前面有关键词参数传入不可。

def trapezoid_area(base_up, base_down, height):

return1/2* (base_up + base_down) * height

print(trapezoid_area(base_up=1,2,3)) #不可,有错误

print(trapezoid_area(1,base_down=2,3))# 不可,有错误

print(trapezoid_area(1,2,height=3))# 可以

print(trapezoid_area(1,base_down=2,height=3))# 可以

六、判断:

print(1<2<3) #返回TRUE,感觉是(1< 2) && (2<3) 所得到的

print(1<2>3) #则返回FALSE

print('M' in "Magic") # 返回TRUE,字符串的包含

number =12;

print(number is 12) # 返回TRUE,等价与print(number ==12)

in是成员运算符;is是身份运算符;

in测试前者是否存在于in后面的集合中。

album=['Black Star','David Bowie',25,True] #列表或数组中可以包含不同的数据类型

album.append('new song')#向列表中添加元素

bool函数:判断是TRUE还是FALSE

bool(0)#False

bool([])#False

bool('')#False

bool(False)#False

bool(None)#False

七、循环

for every_letter in 'Hello world':

print(every_letter)

输出每个字符。使用了in关键词

for i in range(1,11):

print(str(i)+'+1=',i+1)

这与C语言语法不同,这里有range来表示连续的数字

八、数据结构

1. python有内置数据结构,有四种数据结构,分别是:列表、字典、元组、结合。

2. 列表:Weekday=['Monday','Tuesday','Wednesday','Thursday','Friday']

列表的特征:

(1. 列表中的每一个元素都是可变的;

(2. 列表中的元素是有序的,也就是说每一个元素都有一个位置;

(3. 列表可以容纳 Python 中的任何对象。

insert函数:在指定位置之前插入元素

3. 字典NASDAQ_code={'BIDU':'Baidu','SINA':'Sina','YOKU':'Youku'}

字典的特征总结如下:

(1. 字典中数据必须是以键值对的形式出现的;

(2. 逻辑上讲,键是不能重复的,而值可以重复;

(3. 字典中的键(key)是不可变的,也就是无法修改的;而值(value)是可变的,可修改的,可以是任何对象。

列表中插入多个元素是函数extend(),字典中插入多个元素是update()

4. 元组:letters=('a','b','c','d','e','f','g')

元组不可以修改,可以视为稳固版的列表

5. 集合不能被切片也不能被索引

a_set={1,2,3,4}

a_set.add(5) #集合的添加

a_set.discard(5) #集合的删除

6. enumerate 在字典上是枚举、列举的意思

7. strip函数

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符

第二个参数为要删除的字符。调用的只能是一个字符串变量,而不能是列表或其他。如

words=['asdf    ','   aa']

words.strip()是错误的

扩展:with语句

上下文管理协议(Context Management Protocol):包含方法 __enter__() 和 __exit__(),支持该协议的对象要实现这两个方法。

上下文管理器(Context Manager):支持上下文管理协议的对象,这种对象实现了__enter__() 和 __exit__() 方法。上下文管理器定义执行 with 语句时要建立的运行时上下文,负责执行 with 语句块上下文中的进入与退出操作。通常使用 with 语句调用上下文管理器,也可以通过直接调用其方法来使用。

运行时上下文(runtime context):由上下文管理器创建,通过上下文管理器的 __enter__() 和__exit__() 方法实现,__enter__() 方法在语句体执行之前进入运行时上下文,__exit__() 在语句体执行完后从运行时上下文退出。with 语句支持运行时上下文这一概念。

上下文表达式(Context Expression):with 语句中跟在关键字 with 之后的表达式,该表达式要返回一个上下文管理器对象。

语句体(with-body):with 语句包裹起来的代码块,在执行语句体之前会调用上下文管理器的 __enter__() 方法,执行完语句体之后会执行 __exit__() 方法。

九、第三方库

当你想搭建网站时,可以选择功能全面的 Django、轻量的 Flask 等 web 框架;当你想写一个小游戏的时候,可以使用 PyGame 框架;当你想做一个爬虫时,可以使用 Scrapy 框架;当你想做数据统计分析时,可以使用 Pandas 数据框架

可以在awesome-python这个网站上按照分类去寻找,上面收录了比较全面的第三方库。

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

推荐阅读更多精彩内容