标签:
一.上周作业回顾
1.登陆接口:
思路流程:
1.登陆,三次锁定用户
2.用户信息文件,黑名单文件
3.检测黑名单,如输入账号在黑名单中存在,不允许登陆
4.用户密码判断
主要知识点:while,for循环,if判断,文件操作
2.三级菜单:
1.写字典,大字典里套小字典,再在小字典里套列表
2.程序开始,列出大字典力所有的keys。
3.用户选择后,列出小字典的key。
4.用户再次选择后,列出小字典中的列表。
5.在用户选择的时候,可以加入判断,如是否输入正确
6.在用户选择的时候,加入b返回上级,q退出程序
知识点:while,for循环,if判断,字典,列表操作
二.今天内容简介
1.Python简介
2.基本数据类型
3.文件操作
4.管理上下文
Python简介
1.python历史
详情见链接:python详细信息
2.python种类
原理:
cpython
print(‘aaa’) c解释器 .pyc(字节码) 机器码 CPU
jpython
print(‘aaa’) java解释器 java字节码 机器码 CPU
ironpython
print(‘aaa’) c#解释器 c#字节码 机器码 CPU
由上得出python种类区分主要是解释器不同,而我们常用的是cpython。
3.python安装环境
windows:
从官网下载安装包,进行安装;
2.7版本默认安装路径:c:\python2.7;3.x版本默认安装路径:C:\Users\(当前用户)\AppData\Local\Programs\Python\Python35\;
环境变量配置:【右键计算机】—>【属性】—>【高级系统设置】—>【高级】—>【环境变量】—>【系统环境变量】修改path,添加python安装路径。
Liunx:
默认装有python。
注:升级python后,修改yum使用的python版本
基本数据类型:
1.数字:
int(有符号整数)
通常被称为只是整数或整数,是正或负整数,不带小数点。
long(长整数)
是无限大的整数,这样写整数,后面跟着一个大写或小写的L。(在3.x版本中与int统一为一种类型,删除了后缀L)
float(浮点实数值)
或浮点数,表示实数,并写入一个小数点分隔的整数部分和小数部分。浮点数也可以是科学记数法,用e或E表示的功率10 (2.5e2 = 2.5 x 102 = 250).
complex(复数)
形式如 a + bJ,其中a和b是浮点和J(或j)表示-1的平方根(这是一个虚数)。 a是数的实部,b是虚部。Python编程不使用复杂的数字。
2.布尔值
真或假
1或0
3.字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。
例如:
字符串1 var1 = ‘Hello World!‘ 2 var2 = "Python Programming"
访问字符串中的值
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串,如下实例:
访问字符串1 #!/usr/bin/python 2 3 var1 = ‘Hello World!‘ 4 var2 = "Python Programming" 5 6 print "var1[0]: ", var1[0] 7 print "var2[1:5]: ", var2[1:5] 8 9 10 11 #结果: 12 #var1[0]: H 13 #var2[1:5]: ytho 14
字符串更新
可以“update”现有的字符串(重新)分配到另一个字符串变量。其以前的值或一个完全不同的字串完全可以与新的价值。
例如:字符串更新1 #!/usr/bin/python 2 3 var1 = ‘Hello World!‘ 4 5 print "Updated String :- ", var1[:6] + ‘Python‘ 6 7 8 #结果: 9 #Updated String :- Hello Pytho
转义字符
下表是一个逃跑或反斜线符号可以代表的非打印字符的清单。
注:在doublequoted字符串,转义字符被解释;在singlequoted字符串,转义字符被保留。
反斜线 符号
十六进制字符
描述
\a
0x07
Bell or alert
\b
0x08
Backspace
\cx
Control-x
\C-x
Control-x
\e
0x1b
Escape
\f
0x0c
Formfeed
\M-\C-x
Meta-Control-x
\n
0x0a
Newline
\nnn
Octal notation, where n is in the range 0.7
\r
0x0d
Carriage return
\s
0x20
Space
\t
0x09
Tab
\v
0x0b
Vertical tab
\x
Character x
\xnn
Hexadecimal notation, where n is in the range 0.9, a.f, or A.F
字符串运算符
假设A持有‘hello‘和变量b拥有‘Python‘的字符串变量:
操作符
描述
例子
+
串联 - 添加操作两边的值
a + b 将得到 HelloPython
*
重复 - 创建新的字符串,相同的字符串连接的多个副本
a*2 将得到 -HelloHello
[]
切片 - 从给定的索引字符
a[1] will give e
[:]
范围切片 - 从给定范围内的字符
a[1:4] will give ell
in
成员关系 - 返回true,如果存在一个字符在给定的字符串
H in a will give 1
not in
成员关系 - 返回true如果不存在一个字符在给定的字符串
M not in a will give 1
r/R
原始字符串 - 禁止转义字符的实际意义。原始字符串的语法是完全正常与异常的原始字符串操作,字母“r”,前面的引号字符串相同。 “R”可以是小写字母(R)或大写字母(R)的,必须放在紧接第一个引号。
print r‘\n‘ prints \n and print R‘\n‘prints \n
%
格式化 - 执行字符串格式
See at next section
万恶的字符串拼接:
pythom中的字符串在C语言中体现为师一个字符数组,每次创建字符串的时候需要在内存中开辟一块连续的空间,并且一旦修改字符串的话,就需要在次开辟一块新的连续空间,万恶的加号(+)每出现一次,就会在内存中重新开辟一块新的空间。
下面是一套完整的符号可用%的列表:
格式符号
转换含义
%c
character
%s
string conversion via str() prior to formatting
%i
signed decimal integer
%d
signed decimal integer
%u
unsigned decimal integer
%o
octal integer
%x
hexadecimal integer (lowercase letters)
%X
hexadecimal integer (UPPERcase letters)
%e
exponential notation (with lowercase ‘e‘)
%E
exponential notation (with UPPERcase ‘E‘)
%f
floating point real number
%g
the shorter of %f and %e
%G
the shorter of %f and %E
其他支持的符号和功能下表中列出:
符号
功能
*
argument specifies width or precision
-
left justification
+
display the sign
leave a blank space before a positive number
#
add the octal leading zero ( ‘0‘ ) or hexadecimal leading ‘0x‘ or ‘0X‘, depending on whether ‘x‘ or ‘X‘ were used.
0
pad from left with zeros (instead of spaces)
%
‘%%‘ leaves you with a single literal ‘%‘
(var)
mapping variable (dictionary arguments)
m.n.
m is the minimum total width and n is the number of digits to display after the decimal point (if appl.)
字符串的常用操作:
移除空白 strip
分割 split
长度 len(obj)
索引 obj[1]
切片 obj[:]
4.列表
列表简介:
列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等
列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作
可以通过list(seq)函数把一个序列类型转换成一个列表
列表常用操作:
索引 index
切片 :
追加 append
删除 del;remove;pop
长度 len
循环 for;while;(foreach)
break;continue;pass;return;exit(0...)
包含 in __contains__
5.元组
元组元素不可修改,元祖元素的元素可以被修改。
索引 index
切片 :
长度 len
循环 for;while;(foreach)
break;continue;pass;return;exit(0...)
包含 in __contains__
6.字典
索引 通过key来索引
新增 d[key] values
删除 del d[key]
键,值,键值对
keys values items
循环 for;while
长度 len
7.文件操作
文件写入
文件写入1 #打开模式列表: 2 #w 以写方式打开, 3 #a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) 4 #r+ 以读写模式打开 5 #w+ 以读写模式打开 (参见 w ) 6 #a+ 以读写模式打开 (参见 a ) 7 #rb 以二进制读模式打开 8 #wb 以二进制写模式打开 (参见 w ) 9 #ab 以二进制追加模式打开 (参见 a ) 10 #rb+ 以二进制读写模式打开 (参见 r+ ) 11 #wb+ 以二进制读写模式打开 (参见 w+ ) 12 #ab+ 以二进制读写模式打开 (参见 a+ ) 13 f = open(‘tpm.txt‘, ‘a+‘) 14 15 for i in range(10) : 16 f.write(time.strftime(‘%Y-%m-%d %H:%M:%S‘)) 17 f.write(‘ ‘ + str(random.randint(0, i)) + ‘\n‘) 18 19 f.close()
文件读取
文件读取1 f = open(‘tpm.txt‘) 2 # read方式读取 3 s = f.read() 4 print(s, ‘\n\n\n‘) 5 print(f.tell()) 6 #上面读取完后指针移动到最后,通过seek将文件指针移动到文件头 7 f.seek(0) 8 #使用readline每次读取一行 9 while(True): 10 line = f.readline() 11 print(line) 12 if(len(line) == 0): 13 break 14 15 f.close()
主文件通过__name__ = "__main__"来标识
标签:
原文地址:http://www.cnblogs.com/spykids/p/5155569.html