1.解释运行
pytho n 是一种半编译半解释的语言,python解释器会按行读取源代码文件,然后会先将源代码转
为供python计时器直接执行的“字节码”。然后再执行字节码
执行一个.py文件后,会生成一个同名的.pyc文件,这个文件就是python解释器生成的字节码文件,
pytho n 是一种半编译半解释的语言,python解释器会按行读取源代码文件,然后会先将源代码转
为供python计时器直接执行的“字节码”。然后再执行字节码
执行一个.py文件后,会生成一个同名的.pyc文件,这个文件就是python解释器生成的字节码文件,
如果已经存在了.pyc文件,那么就不需要再翻译一次了,这样也提高了效率
2.跨平台
python是基于python的解释器来进行执行的,只要某个操作系统/平台上能运行pythoni卷解释器
就可以完美的于逆行python的源代码。
3.可扩展性
可以调用其他语言,可以用C/C++重构,用python调用
4.可嵌入
python的代码也可以嵌入到C/C++中执行
5.丰富的库
有很庞大的标准库、第三方库
6.python的缺点:
执行效率低
二. python的一些小语法
1. 注释是用#
变量不需要声明、语句后面也不需要;
2.跨平台
python是基于python的解释器来进行执行的,只要某个操作系统/平台上能运行pythoni卷解释器
就可以完美的于逆行python的源代码。
3.可扩展性
可以调用其他语言,可以用C/C++重构,用python调用
4.可嵌入
python的代码也可以嵌入到C/C++中执行
5.丰富的库
有很庞大的标准库、第三方库
6.python的缺点:
执行效率低
二. python的一些小语法
1. 注释是用#
变量不需要声明、语句后面也不需要;
2.注释的#后面需要有一个空格。
可以支持注释写中文、得在代码开头写这一句
4.编译运行python代码
5. 不支持自增、自减
6. 静态类型(c、c++、java等) (运行时不能修改变量的类型)
动态类型(运行时可以支持修改变量的类型)
7. 变量命名规则:
变量名必须是字母、数字,下划线,但是不能用数字开头。
变量名区分大小写
变量名要做到见名知意
8.
p
ython
中
没有字符概念,
只有字符串。
所以python支持' ' , " "都用于字符串。
可以用来输出单引号、
双引号(不需要转义字符)
若是在字符串中既有单引号又有双引号,就可以使用三引号
9. 字符串遍历
str[-1]表示字符串的最后一个元素
str[-2]表示字符串的倒数第二个元素
取字符串的字串(切片、前闭后开)
str[2:4]取到字符串的下标为2-4的元素
str[1:]取到字符串的下表为1到末尾的元素
str[:]取全部元素
str[:-1]:第一个元素到倒数第一个元素(不包括倒数第一个元素)
str[: 100]若切片的下标大于字符串本身的长度,就取到字符串结尾不会报错。
str[2:1]无效
10 字符串的拼接
mystr1 = 'hello '
mystr2 = 'world '
mystr3 = '!'
ret = mystr1 + mystr2 + mystr3
得到的结果就是“hello world !”将三个字符串的进行拼接
11. 字符串的重复
str = '-'
str1 = str * 100
print str1
打印结果为100个-
12. 求字符串的长度
mystr = 'hehe'
print len(mystr)
13. 格式化字符串
format = 'a = %d'
a = 100
result = format % a
print result
格式化这样的操作是字符串内置的,和print没有关系
14. 布尔类型
True (真) False (假)
首字母大写(区分大小写)
15. 输入输出
mystr = raw_input('> ') //输入,用>作为输入提示符,该提示符可以自定义
print mystr
mystr = raw_input('> ')
print 2 * int(mystr) //将mystr强转为int类型
raw_input函数的返回值为字符串类型。
python不会隐式的转换。
python'也是强类型语言
16.操作符
大部分与c语言一样、除法有区别。
a).传统除法 (/ )
a = 1.0
b = 2
print a / b
答案为0
b).地板(floor)除法 (//)
除法之后,向下取整
a = -1
b = 2
print a // b
结果为-1
c).精确除法
from __future__ import division
a = 1
b = 2
print a / b
结果为:0.5
2)乘方操作
a = 10
b = 1000
result = a ** b (a的b次方)
3)逻辑运算符 and 、or、 not
2 <4and 2 == 4
False
2 >4or 2 < 4
True
2 < 3 <4
支持连比
17. 内置数据类型
1.列表(类似于数组)
a = [1,2,3,4]
print a
可以存储不同类型的元素
print a[0]
print a[1]
print a[-1]
也支持切片操作
print [2:4]
2.元组(tuple)
a = (1,2,3,4)
a[0] = 'aaa'
操作与列表一样,区别:元组的元素不可以更改。
3.字典(哈希表)
可以存储键值对
a = {'ip' : '127.0.0.1','port': 8080}
ip、port为键 '127.0.0.1'、8080为值
print['ip'] 查找键值为ip的元素
18. 引用
a = 100
b = 100
print id(a),id(b)
两个值相同
19. if语句:
if expression:
do_something1
do_something2
next_somthing
if expression:
do_something
elif expression2:
do_something2
else:
do_something3
20. while循环
count = 0
while count <3:
print '-------'
count += 1
21. for循环
str = 'abcd'
for i in mystr:
print i
22. range(1,101,2) //从一开始,每次增加2,最大到100的列表
23. break\continue用法与c语言一致
24. pass语句 (空语句、什么都不做)
由于没有{},需要有一个专门的语句来占位,要不缩进就乱了
25.列表解析
[x ** 2 for x in range(1,101) if x % 3 == 0] //得到1-100数字的平方是3的倍数的数 (列表)