标签:
作为一个前端小白,虽然现在能看得懂一点django代码,也能实现点简单的小需求。但是感觉自己还是有很多不懂的喂。比如__gt,这个大于的写法都让我蒙圈。。。So,跟着imooc,从Python基础开始吧~
数据类型:
‘‘
或""
括起来的任意文本,比如‘abc‘,"xyz"等等。None
表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。print 语句:向屏幕上输出指定的文字
注释:Python的注释以 #
开头,后面的文字直到行尾都算注释。
变量:在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。(这个和其他的语言都一样呢)
变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言。
定义字符串:Python字符串用\
进行转义。
raw字符串与多行字符串:如果一个字符串包含很多需要转义的字符,我们可以在字符串前面加个前缀 r
,表示这是一个 raw 字符串,里面的字符就不需要转义了。但是r‘...‘
表示法不能表示多行字符串,也不能表示包含‘
和 "
的字符串。
整数和浮点数:Python支持对整数和浮点数直接进行四则混合运算,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数
,但是整数和浮点数混合运算的结果就变成浮点数了。Python的整数除法,即使除不尽,结果仍然是整数,余数直接被扔掉。
如果我们要计算 11 / 4 的精确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把两个数中的一个变成浮点数再运算就没问题了:11.0 / 4 # ==> 2.75
布尔类型:
Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:
a = True print a and ‘a=T‘ or ‘a=F‘
计算结果不是布尔类型,而是字符串 ‘a=T‘。
因为Python把0
、空字符串‘‘
和None
看成 False,其他数值和非空字符串都看成 True,所以:True and ‘a=T‘ 计算结果是 ‘a=T‘,继续计算 ‘a=T‘ or ‘a=F‘ 计算结果还是 ‘a=T‘。
List数据类型:
list
。list是一种有序的集合,可以随时添加和删除其中的元素。list中包含的元素并不要求都必须是同一种数据类型。>>> L = [‘Michael‘, 100, True]按照索引访问list,索引从 0 开始。当索引数字为负数时,表示逆序读出List中的内容,记住List的最后一个空间的编号为-1开始。
倒序访问list
添加新元素:append()总是把新的元素添加到 list 的尾部。 insert()
方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素:
从list删除元素:pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 ‘Paul‘。如果在pop(index)方法里传入索引值作为参数,则删除list中指定索引位置的元素。
Tuple数据类型:一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,不能修改。
( )
替代了[ ]
。()
既可以表示tuple,又可以作为括号表示运算时的优先级,
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>> t = (1,) >>> print t (1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。
“可变”的tuple:当tuple中包含list时,通过改变list,则能间接改变tuple。
Dict数据类型:建立一组 key 和一组 value 的映射关系,通过 key 来查找 value,dict的key是不能重复的。
注意: 通过 key 访问 dict 的value,只要 key 存在,dict就返回对应的value。如果key不存在,会直接报错:KeyError。
要避免 KeyError 发生,有两个办法:
一是先判断一下 key 是否存在,用 in 操作符:
if ‘Paul‘ in d: print d[‘Paul‘]
如果 ‘Paul‘ 不存在,if语句判断为False,自然不会执行 print d[‘Paul‘] ,从而避免了错误。
二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
>>> print d.get(‘Bart‘) 59 >>> print d.get(‘Paul‘) None
>>> d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59 } >>> for key in d: ... print key ... Lisa Adam Bart
set数据类型:类似dict和list,只关心key,不关心value。元素是无序的,不重复的。
缩进原则,代码块
if,if-else,if-elif-else
if age >= 18: print ‘adult‘ else: print ‘teenager‘
---------------------------
if age >= 18: print ‘adult‘ elif age >= 6: print ‘teenager‘ elif age >= 3: print ‘kid‘ else: print ‘baby‘
for循环,while循环
L = [‘Adam‘, ‘Lisa‘, ‘Bart‘] for name in L: print name
标签:
原文地址:http://www.cnblogs.com/rosestudy/p/5658691.html