首页
学习
活动
专区
工具
TVP
发布

Python学习总结,关于学习Python的资料分享

Python语言火爆全球,已经成为世界上排首位的编程语言,使用人数超过千万,30%IT新人入门都学Python。Python编程简单直接,更适合初学编程者,让初学者专注于编程逻辑,而不是困惑于晦涩的语法细节上。

PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#、@、@@也好不到哪里(OO人员最该学习的一门语言)。

Python应该是写起来最舒服的动态语言了,一下是一些读书笔记,最后会介绍一下高级的用法:Mixin、Open Class、Meta Programming和AOP。

文中有些地方是用2.7开发的,如果您安装的是3.x,有几点需要注意:

print "xxx" 要换成 print("xxx")

__metaclass__ = type 删除掉。

类型和表达式部分

你好,世界!

1 # coding=utf-82 3 print "你好,世界。"

乘方

1 print 2**10

变量

1 var = 12 print var3 4 var = "段光伟"5 print var

注:这里的var = xxxx不叫变量赋值,而叫变量绑定,python维护了一个符号表(变量名)以及符合对应的值,这个对应关系就叫做绑定,一个符号可以绑定任意类型的值。

获取用户输入

1 #获取用户输入2 x = input("x:")3 y = input("y:")4 5 print x*y

注:input接受的是Python代码,输入中可以访问当前执行环境中的变量,如果想获取原始输入需要使用 raw_input。

函数定义

1 def say_b():2 print "b"

强类型

Javascript和Php是弱类型的,Python和Ruby是强类型的。弱类型允许不安全的类型转换,强类型则不允许。

1 #1 + “1” 这行代码在Python中会报错。2 print 1 + int("1")3 print str(1) + "1"

字符串

1 #字符串2 print '''' 段3 光4 伟'''5 print r'C:\log.txt'6 print 'C:\\log.txt'

序列

这里先介绍三种序列:列表、元祖和字符串。

序列通用操作

可变的列表

1 data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 2 3 data[0] = "a" #修改元素。 4 print data 5 data[0] = 0 6 7 del data[10] #删除元素。 8 print data 9 10 del data[8:] #分片删除。11 print data12 13 data[8:] = [8, 9, 10] #分片赋值14 print data

不可变的元祖

1 print (1, 2) #元祖以小括号形式声明。2 print (1,) #一个元素的元祖。

字符串格式化

1 print "% 10s" % "----"2 3 print '''4 %(title)s5 %(body)s6 ''' % {"title": "标题", "body": "内容"}

字典

1 print {"title": "title", "body": "body"}2 print dict(title = "title", body = "body")3 print dict([("title", "title"), ("body", "body")])

1 dic = {"title": "title", "body": "body"};2 print dic["title"]3 del dic["title"]4 print dic

print 语句

1 print 'a', 'b' #print可以接受多个参数,参数的输出之间以空格相隔。2 print 'a', #如果逗号之后没有参数,则不会换行。3 print 'b'

序列解包

1 x, y, z = 1, 2, 32 print x, y, z3 (x, y, z) = (1, 2, 3)4 print x, y, z5 (x, y, z) = [1, 2, 3]6 print x, y, z

bool值

1 #下面的输入全部返回False。 2 print(bool(None)) 3 print(bool(())) 4 print(bool([])) 5 print(bool({})) 6 print(bool("")) 7 print(bool(0)) 8 9 #虽然这些值在条件运算中会当做False,但是本身不等于False。10 print(True and "")11 print(not "")12 print(False == "")13 print(False == 0) #0除外,bool类型的内部表示就是int类型。

bool运算

1 print(0 1 > 10))4 print(not(0 > 1 or 1 > 10))

语句块

:开始语句快,缩进的所有内容都是一个语句块。

1 if(10 > 1):2 print("10 > 1")3 else:4 print("不可能发生")

三元运算符

1 print("10 > 1" if 10 > 1 else "不可能发生")

相等比较

1 #== 和 is的差别,==比较的是内容,is比较的是引用。2 x = [1, 2, 3]3 y = x4 z = [1, 2, 3]5 print(x == y)6 print(x == z)7 print(x is y)8 print(x is z)

循环

1 #for循环类似C#的foreach,注意for后面是没有括号的,python真是能简洁就尽量简洁。 2 for x in range(1, 10): 3 print(x) 4 5 for key in {"x":"xxx"}: 6 print(key) 7 8 for key, value in {"x":"xxx"}.items(): 9 print(key, value)10 11 for x, y, z in [["a", 1, "A"],["b", 2, "B"]]:12 print(x, y, z)

1 #带索引的遍历 2 for index, value in enumerate(range(0, 10)): 3 print(index, value) 4 5 #好用的zip方法 6 for x, y in zip(range(1, 10), range(1, 10)): 7 print(x, y) 8 9 #循环中的的else子句10 from math import sqrt11 for item in range(99, 1, -1):12 root = sqrt(item)13 if(root == int(root)):14 print(item)15 break16 else:17 print("没有执行break语句。")

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225A0OWZG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券