本节内容
-
Python安装(windows)
-
第一个程序(windows中的python)
-
变量
-
字符编码
-
注释
- 用户输入
-
模块初步认识
-
数据类型
- 数据运算
-
表达式if...else
- 表达式for loop
-
表达式while loop
1.python安装(windows)
1.1 下载安装包
https://www.python.org/downloads/
1.2 安装
python2.7默认安装路径:C:python27
注:安装路径中尽量不要带有空格
1.3 配置环境变量
[右键计算机] -> [属性] -> [高级系统设置] -> [环境变量] -> [系统变量] -> [双击变量Path]
-> [Python安装目录追加到变量值中,用';'隔开]
Linux,Mac无需安装,原装Python环境
1.4 测试
在cmd中输入python,查看python环境是否安装成功。
如果安装成功会出现以下提示信息,并进入python的交互器:
Python
2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit
(
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for
more information.
>>>
2.第一个程序(windows中的python)
2.1 在python的交互器中来执行第一个python程序
>>>print("Hello World!")
Hello
World!
除了把文件在交互器中执行,还可以把程序写在文件里执行
2.2 python文件执行
在D:下创建hello.py文件,文件内容如下:
# first program
print("Hello
World!")
在cmd中执行:
D:>python hello.py
2.3 指定解释器
在linux中python程序文件配置解释器可以更方便的执行程序,配置的方法有如下两种:
#!/usr/bin/python
#指明python解释器的绝对路径
#!/usr/bin/env python #调用env查找python解释器的位置
3.变量
3.1 官方定义
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.
3.2 变量的赋值
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # 变量name赋值 4 name = "40kuai" 5 print("my name is %s" % name) 6 7 # 输出:my name is 40kuai
3.3 变量定义的规则
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['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.字符编码
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
关于中文
GB2312、GBK到GB18030都中文编码方法
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python解释器在加载
.py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:
报错:ascii码无法表示中文
#!/usr/bin/env
python
print "你好,世界"
改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 print ("你好,世界")
5.注释
单行注释:# 被注释内容
多行注释:""" 被注释内容 """或者'''被注释内容'''
6.用户输入
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # name = raw_input("What is your name?") #only on python 2.x 4 name = input("What is you name?") 5 print("Hello " + name) 6 print("Hello %s" % name) 7 print("Hello {}".format(name)) 8 9 # 输出: 10 # What is you name?40kuai 11 # Hello 40kuai 12 # Hello 40kuai 13 # Hello 40kuai
7.模块初步认识
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
sys
#!/usr/bin/env
python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)
#输出
$
python test.py helo world
['test.py', 'helo', 'world']
#把执行脚本时传递的参数获取到了
os
#!/usr/bin/env python
# -*- coding: utf-8
-*-
import os
os.system("df -h") #调用系统命令
8.数据类型
8.1 数字
特性:
1.只能存放一个值
2.一经定义,不可更改
3.直接访问
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
>>> 10 10 ---------->默认十进制 >>> oct(10) '0o12' ---------->八进制表示整数时,数值前加0o >>> hex(10) '0xa' ---------->十六进制表示整数时,数值前加0x >>> bin(10) '0b1010' ---------->二进制表示整数时,数值前加0b >>>
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
8.2 布尔值
真或假
1或0
8.3 字符串
"hello world"
字符串格式换输出
name = "helei"
print("I am %s " %name)
#
输出:I am helei
Ps:字符串是%s;整型%d;浮点数%f
- 移除空白 str.strip()
- 分割 str[:3] # 截取字符串的前三个字符,顾头不顾尾
- 长度 len(str)
- 索引 str.index()
- 切片 str[1:3] #切字符串的1-3的字符,和分隔类似,顾头不顾尾
8.4 列表
创建列表:
name_list = ['alex', 'seven', 'eric'] 或
name_list =
list([['alex', 'seven', 'eric']])
基本操作:
- 索引 list.index()
- 切片 #和字符串的切片一样
- 追加 list.append()
- 删除 list.pop 或者 del list[0]
- 长度 len(list)
- 循环 for i in list:print(i)
- 包含 print("40kuai" in list)
8.5 元组(不可变列表)
创建元组:
ages = (11, 22, 33, 44, 55)或
ages = tuple((11, 22, 33, 44, 55))
8.6 字典(无序)
# 四种定义字典的方法
dic = dict() # 空字典
dic = dict(name='40kuai', age=18)
dic = dict({'name':'40kuai', 'age':18})
dic = dict((('name', '40kuai'), ('age', 18)))
创建字典:
person = {"name": "mr.wu", 'age': 18}或
person = dict({"name":
"mr.wu", 'age': 18})
常用操作:
- 新增 dict["1234"] = "40kuai"
- 删除 dict.pop() 或者 del dict["1234"]
- 循环
#item
for key in name: # 效率高
print(key,name[key])
for k,v in name.items(): # 效率低
print(k,v)
9.数据运算
9.1 算数运算
9.2 比较运算
9.3 赋值运算
9.4 逻辑运算
9.5 成员运算
9.6 身份运算 两个标识符是不是引用自一个对象
9.7 位运算
*按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265
9.8 运算符优先级
10.表达式if...else
场景一、用户登陆验证
_name = "helei" _passwd = "123" name = input("name:") passwd = input("passwd:") if _name == name and _passwd == passwd: print("welcome!") break else: print("sorry!")
11.表达式for loop
简单的循环格式
for i in range(10): print("loop:", i )
上面的用户登录再来一次
_name = "helei" _passwd = "123" for i in range(3): name = input("name:") passwd = input("passwd:") if _name == name and _passwd == passwd: print("welcome!") break else: print("sorry!")
实现了用户可以尝试输入三次
12.表达式while loop
有一种循环叫死循环
count = 0 while True: print("loop",count) count +=1
利用死循环加if判断可以跳出死循环。
count = 0 while True: print("loop",count) count +=1 if count == 1000: print("不好玩,走了....") break
还是上面那个登录小程序,用while实现循环
_name = "helei" _passwd = "123" while True: name = input("name:") passwd = input("passwd:") if _name == name and _passwd == passwd: count = 3 print("welcome!") else: count += 1 if count == 3 print("sorry!") break
最后说一下
在循环中
continue表示结束当前循环的本次循环,进入下次循环
break表示跳出当前循环
exit()表示结束当前程序