http://www.cnblogs.com/alex3714/articles/5465198.html
四、Python安装
windows
1 2 3 4 5 6 7 | 1 、下载安装包 https: / / www.python.org / downloads / 2 、安装 默认安装路径:C:\python27 3 、配置环境变量 【右键计算机】 - - 》【属性】 - - 》【高级系统设置】 - - 》【高级】 - - 》【环境变量】 - - 》【在第二个内容框中找到 变量名为Path 的一行,双击】 - - > 【Python安装目录追加到变值值中,用 ; 分割】 如:原来的值;C:\python27,切记前面有分号 |
linux、Mac
1 2 3 | 无需安装,原装Python环境 ps:如果自带 2.6 ,请更新至 2.7 |
五、Hello World程序
在linux 下创建一个文件叫hello.py,并输入
1 | print ( "Hello World!" ) |
然后执行命令:python hello.py ,输出
1 2 3 | localhost:~ jieli$ vim hello.py localhost:~ jieli$ python hello.py Hello World! |
指定解释器
上一步中执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。
如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py
,那么就需要在 hello.py 文件的头部指定解释器,如下:
1 2 3 | #!/usr/bin/env python print "hello,world" |
如此一来,执行: ./hello.py
即可。
ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py
在交互器中执行
除了把程序写在文件里,还可以直接调用python自带的交互器运行代码,
1 2 3 4 5 6 | localhost:~ jieli$ python Python 2.7 . 10 (default, Oct 23 2015 , 18 : 05 : 06 ) [GCC 4.2 . 1 Compatible Apple LLVM 7.0 . 0 (clang - 700.0 . 59.5 )] on darwin Type "help" , "copyright" , "credits" or "license" for more information. >>> print ( "Hello World!" ) Hello World! |
对比下其它语言的hello world
六、变量\字符编码
Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.
声明变量
1 2 3 | #_*_coding:utf-8_*_ name = "Alex Li" |
上述代码声明了一个变量,变量名为: name,变量name的值为:"Alex Li"
变量定义的规则:
-
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的赋值
1 2 3 4 5 6 7 8 | name = "Alex Li" name2 = name print (name,name2) name = "Jack" print ( "What is the value of name2 now?" ) |
七、字符编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
小结:
ASCII 255 1bytes
--> 1980 gb2312 7xxx
--> 1995 gbk1.0 2w+
--> 2000 gb18030 27xxx
--> unicode 2bytes
--> utf-8 en:1byte, zh:3bytes
注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
八、用户输入
1 2 3 4 5 6 7 | #!/usr/bin/env python #_*_coding:utf-8_*_ #name = raw_input("What is your name?") #only on python 2.x name = input ( "What is your name?" ) print ( "Hello " + name ) |
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/env python # -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给 name 变量 pwd = getpass.getpass( "请输入密码:" ) # 打印输入的内容 print (pwd) |
多行格式化:
# Author: sonny # -*- coding:utf-8 -*- print("hello world!"); #注: python2.x raw_input python3.x input name = input("name:"); age = int(input("age:")); job = input("job:"); info = ''' ---- info of %s ---- name = %s age = %d job = %s ''' % (name, name, age, job); info2 = ''' ---- info of {_name} ---- name = {_name} age = {_age} job = {_job} '''.format(_name=name, _age=age, _job=job); info3 = ''' ---- info of {0} ---- name = {0} age = {1} job = {2} '''.format(name,age,job); print(info); print(info2); print(info3);
if、while、for实例:
# Author: sonny # -*- coding:utf-8 -*- age = 28; for count in range(3): _age = int(input("guess age:")); if _age == age: print("you got it!"); break; elif _age > age: print("guess smaller"); else: print("guess bigger!") count += 1; if count == 3: key = input("are you want contuine?"); if key != 'n': count = 0; ''' count = 0; while count<3: _age = int(input("guess age:")); if _age == age: print("you got it!"); break; elif _age > age: print("guess smaller"); else: print("guess bigger!") count += 1; if count ==3: key = input("are you want contuine?"); if key != 'n': count =0; #else: # print("you are wrong,fuck off!"); '''