1 安装python
1 Windows
2 1、下载安装包
3 https://www.python.org/downloads/
4 2、安装
5 默认安装路径:C:\python27
6 3、配置环境变量
7 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
8 如:原来的值;C:\python27,切记前面有分号
9
10
11 linux
12 无需安装,原装Python环境
13
14 ps:如果自带2.6,请更新至2.7
2 hello world
1 # -*- coding: utf-8 -*-
2
3 print("你好,世界")
python 代码文件以 .py 结尾。
# -*- coding: utf-8 -*- 作为字符集说明防止乱码
执行代码方式 可以用 cmd命令窗口 python hello.py
或 使用IDE开发 pycharm
指定解释器
上一步中执行 python hello.py 时,明确的指出 hello.py 脚本由 python 解释器来执行。
如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py
,那么就需要在 hello.py 文件的头部指定解释器:
#!/usr/bin/env python
print "hello,world"
如此一来,执行: ./hello.py
即可。
3 var 变量
1 # -*- coding: utf-8 -*-
2
3
4 name = "Garrett"
5
6 name2 = name
7
8 print("My name is ",name2)
9
10 name = "gary"
11
12 print(name2)
13
14
15
16 # 约定大写 代表常量
17 PIE = "3.14"
18
19 print("你好,世界")
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['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']
4 输入 input
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # By Garrett
4
5 # 格式化输出
6 username = input("username:")
7 password = input("password:")
8
9
10 print("username :",username)
11 print("password :",password)
12
13 info = '''
14 ------info of ----------
15 name : '''+username+'''
16 password : '''+password
17
18 print(info)
19
20 infos = '''
21 ------infos-------
22 name:%s
23 password:%s
24 ''' % (username,password)
25 print(infos)
26 # %s 代表string %d 必须是数字 num
27 # python 是强数据类型语言 转换类型需要用函数
28
29 info3 = '''
30 ---- info 3 -----
31 name: {_username}
32 pass: {_password}
33 '''.format(_username =username,_password=password)
34 print(info3)
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
''' ''' 除了可以作为注释 也可以作为长字符串 里面的内容会保持其格式。
字符串后面跟.format() 可以用来往字符串中传参数,放变量。 例如:
1 username = input("username:")
2 password = input("password:")
3
4 info3 = '''
5 ---- info 3 -----
6 name: {_username}
7 pass: {_password}
8 '''.format(_username =username,_password=password)
9 print(info3)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
1 import getpass
2
3 _name = 'sys'
4 _pwd = 'sys'
5
6 username = input("username:")
7 password = getpass.getpass("password:")
8 9 # getpass 这个在pycharm里不好使
5 if 判断
1 _name = 'sys'
2 _pwd = 'sys'
3
4 username = input("username:")
5
6 password = input("password")
7
8
9 if _name == username and _pwd == password:
10 print("success! Welcome {_user}".format(_user = username))
11 else:
12 print("error!")
python 没有大括号 所以 if判断的缩进是严格要求必须缩进的。
语句关键词为 if elif else
6 while 循环
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # By Garrett
4
5
6 age_of_boy = 56
7
8 count = 0
9
10 while count < 3 :
11 age = int(input("age:"))
12 count+=1
13 if age_of_boy == age :
14 print('right!')
15 break
16 elif age_of_boy > age :
17 print('low')
18 else:
19 print('high')
20 else:
21 print('3次机会用完')
while 循环 也要严格的格式缩进要求
else 不是必须的 可以省略
break 用来 终止跳出当前循环
7 for 循环
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # By Garrett
4
5 for i in range(0,10):
6 if i < 3:
7 print(i)
8 else:
9 continue
10 print('haha'+str(i))
1 #步长循环
2
3 for i in range(0,10,2):
4 print(i)
for 循环格式如上
continue 用来直接进入下一次循环
8 模块
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # By Garrett
4
5
6 import sys
7 import os
8
9 # 打印文件相对路径和传入的参数
10 # 这个脚本把执行脚本时传递的参数获取到了
11 print(sys.argv)
12
13
14 os.system("df -h") #调用系统命令
15
16
17 os.system(''.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行
18
19
20 # cmd_res = os.system('dir') #执行命令 不保存结果
21 cmd_res = os.popen("dir")
22 cmd2 = os.popen("dir").read()
23
24 print("--->",cmd_res)
你会发现,上面自己写的tab.py模块只能在当前目录下导入,如果想在系统的何何一个地方都使用怎么办呢? 此时你就要把这个tab.py放到python全局环境变量目录里啦,基本一般都放在一个叫Python/2.7/site-packages 目录下,这个目录在不同的OS里放的位置不一样,用 print(sys.path) 可以查看python环境变量列表。
9 数据类型
1、数字
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
2、布尔值
真或假
1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
字符串格式化输出
name = "alex"
print "i am %s "% name
#输出: i am alex
PS: 字符串是 %s;整数 %d;浮点数%f
字符串常用功能:
- 移除空白
- 分割
- 长度
- 索引
- 切片
4、列表
创建列表:
name_list = ['alex', 'seven', 'eric']
或
name_list = list(['alex', 'seven', 'eric'])
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
5、元组(不可变列表)
创建元组:
ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
6、字典(无序)
创建字典:
person = {"name": "mr.wu", 'age': 18}
或
person = dict({"name": "mr.wu", 'age': 18})
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
10 数据运算
算数运算:
比较运算:
赋值运算:
逻辑运算:
成员运算:
身份运算:
位运算:
*按位取反运算规则(按位取反再加1) 详解
运算符优先级:
# ps 三元运算
'''
三元运算
result = 值1 if 条件 else 值2
如果条件为真:result = 值1
如果条件为假:result = 值2
'''