一.数值型
1.整形(int)
Python2中分为长整型(long),整形(int),短整形(short)
Python3中只有整形,不分长短型
使用type()查看数据类型
>>> a = 77777
>>> print(type(a))
<type 'int'>
2.浮点型(float)
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:
十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个 小数点,否则会被当成整数类型处理。
科学计数形式:例如 5.12e2(即 5.12×102)、5.12E2(也是 5.12 ×102)。
>>> a=1.0
>>> print(type(a))
<type 'float'>
二.布尔型(bool)
布尔值只有两种Ture或者Flase
非0和非空的值为Ture,0或空值为Flase
三.字符串
1.简介
字符串是由数字,字母,下划线组成的一串字符,使用时需要用引号
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其 中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。并且取值时去头不取尾,最后一个值取不到。
>>> a="abcdefg"
>>> a[:]
'abcdefg'
>>> a[3:]
'defg'
>>> a[3:5]
'de'
2.特殊符号+和*
(+)字符串连接运算符
( * )重复操作
>>> a="abcdefg"
>>> print(a+"hahaha")
abcdefghahaha
>>> print(a*3)
abcdefgabcdefgabcdefg //无间隔重复输出
3.设置步长有间隔截取字符串
>>> a="abcdefg"
>>> print(a[1:4:2])
bd
此处[]中第三个数字代表步长,此时步长为2,表示相隔一个字符去一次字符值
4.字符串的众多方法实现不同需求(此处只简单介绍少部分方法)
>>> name="zhang yue"
>>> print(name.title()) //全部输出
Zhang Yue
>>> print(name.upper()) //全部转换为大写输出
ZHANG YUE
>>> print(name.lower()) //全部转换为小写输出
zhang yue
>>> name="\tpython\t"
>>> print(name)
python
>>> print(name.rstrip()) //删除右边所有空格
pythoy
>>> print(name.lstrip()) //删除左边所有空格
python
>>> print(name.strip()) //删除左右两边所有空格
python
.........
四.列表(list)
1.简介
列表是由一系列特定元素顺序排列的元素组成的,它的元素可以是任何数据类型即数字、字符串、列表、元组、字典、布尔值等等,同时其元素也是可修改的,使用[]标识。
2.列表中的方法
>>> names = ["zhangsan","lisi","wanger","xx"]
>>> print(names[names.index("xx")])
xx
>>> print(names.count("lisi")) //打印索引值
1
>>> names.reverse()
>>> print(names)
['xx', 'wanger', 'lisi', 'zhangsan']
>>> names.sort() //排序
>>> print(names)
['lisi', 'wanger', 'xx', 'zhangsan']
>>>
五.元组(与list类似 )
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
六.字典(dictionary)
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典 是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
>>> tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
>>> print(tinydict) //输出完整字典的值
{'dept': 'sales', 'code': 6734, 'name': 'john'}
>>> print(tinydict.keys()) //输出字典所有键
['dept', 'code', 'name']
>>> print(tinydict.values()) //输出所有值
['sales', 6734, 'john']
七.集合
集合:集合是一个无序的,不重复的数据集合,可以使用大括号 { } 或者 set() 函数创建集合。
注意:创 建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
集合可以实现去重和两集合间的关系测试
>>> list_1 = [1,4,57]
>>> list_1 = set(list_1)
>>> print(list_1,type(list_1))
(set([1, 4, 57]), <type 'set'>)
>>> list_2 = set([1,8,3])
>>> print(list_1,list_2)
(set([1, 4, 57]), set([8, 1, 3]))
>>> print(list_1.intersection(list_2)) //求list_1和 2的交集
set([1])
>>> print(list_1.union(list_2)) //求list_1和 2的并集
set([1, 3, 4, 8, 57])
>>> print(list_1.difference(list_2)) //求list_1和 2的差集
set([57, 4])
八.流程控制
1.判断
判断结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字
elif主要用于多个判断条件连续执行,由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需 同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表 示只有两个条件同时成立的情况下,判断条件才成功
num = 5
if num == 3: # 判断num的值
print('boss')
elif num == 2:
print('user')
elif num == 1:
print('worker')
elif num < 0: # 值小于零时输出
print('error')
else:
print('roadman') # 条件均不成立时输出
2.循环
<1>whie 循环
在给定的判断条件为 true 时执行循环体,否则退出循环体。
<2>for 循环
重复执行语句
continue,break 来跳过循环,continue 用于跳过该次循环, break 则是用于退出循环
pass语句
Python pass 是空语句,是为了保持程序结构的完整性。 pass 不做任何事情,一般用做占位语句。
九.实例
编写登录接口
输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定账号
# Author:橘春二三
import json
_username = input("请注册账号:") //注册账号并设置初始密码
_password = input("请输入初始密码:")
user = {"user": _username,
"passwd": _password
}
with open("passwd", "w", encoding=("utf-8")) as f: //将账号和密码写入文件,永久保存
json.dump(user, f)
with open("passwd", "w", encoding=("utf-8")) as f:
json.dump(user, f)
//第一次注册完成后将此段代码注释再次运行
try: //抓住异常后锁定账号
with open("passwd", "r") as f: //读文件
_user = (json.load(f))
_username = _user["user"]
_password = _user["passwd"]
f.close()
except json.decoder.JSONDecodeError:
print("您的账号已经锁定,请联系管理员...")
exit()
i = 0
while i < 3:
username = input("username:")
password = input("password:")
if username == _username and password == _password:
print("logining ...")
exit()
else: //输入账号和密码超过3次后
if i == 2:
with open("passwd", "a") as f:
f.write("#")
print("用户账号已锁定...")
else:
print("username or password err...")
print("请在输入一次...")
i += 1