根据需求,我要先暂停angular4的学习,转到学习python的阵营,了解到python不仅可以写网站还可以写网络游戏后台,是一个很棒的语言,下面就根据推荐的教程文档进行了了解,并且整理了一个php和python有哪些区别的表的初版,以便之后的查阅回顾
下面是针对python学习第一次了解到的概念的笔记整理:
1.Python解释器:CPython、IPython,IPython是基于CPython之上的一个交互式解释器,区别CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
2.第一次体验python,因为在mac10.9以上自带Python 2.7,运行命令行python直接进行代码编辑,立即就可获得结果,就是无法保存。
3.在.py文件的第一行加上:“#!/usr/bin/env python”,在Mac和Linux上,通过命令“$ chmod a+x hello.py”,就可以直接运行hello.py了
4.raw_input 可以让用户输入字符串,并存放到一个变量里,print是最基本的输出。
5.python十分敏感大小写,很容易报错
6.Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值
7.Python可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量
8.源代码中包含中文的时候,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
9.%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串:
>>> u'Hi, %s' % u'Michael'
u'Hi, Michael'
有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
10.Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素,用len()函数可以获得list元素的个数,最后一个元素的索引是len() - 1,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素
11.另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
12.if判断语句
age = 3
if age >= 18:
print 'your age is', age
print 'adult'
else:
print 'your age is', age
print 'teenager'
还有elif是else if的缩写。
13.dict:Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度,dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value
14.要删除一个key,用pop(key)方法,对应的value也会从dict中删除
15.比较函数:cmp(x, y)就需要两个参数,如果x<y,返回-1,如果x==y,返回0,如果x>y,返回1
>>> cmp(1, 2)
-1
>>> cmp(2, 1)
1
>>> cmp(3, 3)
0
16.函数名赋给一个变量,相当于给这个函数起了一个“别名”
17.在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回
def my_abs(x):
if x >= 0:
return x
else:
return -x
18.python 输出的时候会自动在变量之前加一个空格
19.python引入了复数类型
3 + 1j*3
(3+3j)
20.python按缩进分隔语句块.
21.python的for循环类似于PHP的foreach, 其没有类似于php的for循环.
22.python支持调用函数时进行关键字参数赋值
fun(a="hello", d="world")
24.python可以对列表, 字符串, 元组做切片操作.
str = "hello"
print str[0:3]
#hel
list = [100, 200, 300]
print list[0:2]
#[100, 200]
tuple = ('songfeng', 'luming', 'yuhui')
print tuple[0:2]
#('songfeng', 'luming')
python | php | |
---|---|---|
整形 | 整型取决于内存的大小, 最大位数不限制 | 整型取决于平台, 最大位数用二进制31位进行表示(2147483647), 超过则用浮点数代替. 两者浮点数表示方法相同 |
变量命名 | 不需要"$" | 前面加"$" |
连接符 | "+",并且python的字符串间的用空格连接会合并 | "." |
运算符 | ** 运算符可以完成取幂运算 , // 运算符完成商的取整运算 , 比较运算符和逻辑运算符可以连续使用 , "is" 一个值或变量是否相等, 是则返回True,例如:True is True | |
布尔与 | "and" | "&&"或"and" |
布尔或 | "or" | "双竖线"或"or" |
布尔非 | "not" | "!" |
测试数组内是否包含某个元素 | "in"运算符,例如:1 in [1, 2] | in_array函数 |
判断语句 | if elif else | switch和if else |
定义函数 | 不可先声明有默认值的, 后声明无默认值的, 有默认值的形参必须放在后面 | PHP则可以 |