一.Python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)龟叔。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
目前Python主要应用领域:
- 云计算: 云计算最火的语言, 典型应用OpenStack
- WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
- 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系统运维: 运维人员必备语言
- 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
- 图形GUI: PyQT, WxPython,TkInter
本文章以及后续都是python3的相关教程,不要问为什么。趋势(python2官方在2020年后会停止更新)
二.安装与使用
windos下安装
1.安装python3
下载地址:https://www.python.org/downloads/ 选择相应的版本本文以windows10 64位为例,下载好后安装即可
配置环境变量:【右键计算机】-
-
》【属性】
-
-
》【高级系统设置】
-
-
》【高级】
-
-
》【环境变量】
-
-
》【在第二个内容框中找到 变量名为Path 的一行,双击】
-
-
> 【Python安装目录追加到变值值中,用 ; 分割】 如:原来的值;C:\python27(不一定是这个路径,安装的python3的路径),切记前面有分号
2.pycharm的安装(软件开发工具)
下载地址:https://www.jetbrains.com/pycharm/download 分为社区办和专业版,看个人专业版;可以上淘宝上去买一个激活码。
linux下安装升级安装python3
1.下载linux版本python3;地址上面有
2.安装python3需要2的依赖包后进行编译安装
yum -y install gcc gcc-c++
yum -y install zlib*
yum -y install libffi-devel
tar -xf Python-3.7.3.tgz
cd Python-3.7.3
./configure
614 make && make install
2.做软连接,python3默认安装地址为/usr/local/bin/
ln -s /usr/local/bin/python3 /usr/bin/python3
3.直接命令行执行python3即可
三.Hello World程序
打开pycharm在新建项目以后,新建一个python file取名为helloword
代码如下,点击绿色的播放按钮即可执行
#!/usr/bin/env python Linux里面python的路径申明
# -*- coding:utf-8 -*- 中文字符集(python3默认支持输入中文,可写可不写)
# Author:jack ma
print("helloword!!!")
在上面的注释行(#开头)在pycharm里可以设置默认输出当下次新建的时候默认填写;打开file--->settings(小扳手图标),找到Editor--->File and Code Templates--->python Script 输入即可
四.变量
# Author:jack ma
name = "jack ma" #变量赋值
sex = "boy"
print(name,sex) #调用多个变量时可以用 , 号隔开
print("哈哈")#python3里面可以直接打印中文
五.循环、判断
while 循环加判断
# Author:jack ma
count = 0 #countf赋值为0
while True: #当条件为真的时候就循环
print("count:",count) #打印count
count+=1 #自加1
if count == 1000: #判断与1000是否相等
break #跳出循环
for循环加判断
for i in range(0,10,2): #默认从0开始的,2代表布长,每隔2位数就打印
if i < 3:
print("loop",i)
else:
continue #跳出本次循环继续到下一次循环
print("hehe")
六.格式化拼接
1.
# Author:jack ma
name = input("name:")
age = input("age:")
print(type(age))
job = input("job:")
salary = input("salary:")
#字符格式化输出拼接法(这种方法只能拼接str,效率较低一般不用)
info = '''--------------info of '''+ name +'''--------------
Name:'''+ name +'''
Age: '''+ age +'''
Job: '''+ job +'''
Salary: '''+ salary +'''
'''
print(info)
2.
# Author:jack ma
name = input("name:")
age = int(input("age:"))#将str类型转化为int
print(type(age))
job = input("job:")
salary = input("salary:")
#字符格式化输出%法
info1 = '''
--------------info of %s--------------
Name:%s #str类型
Age:%d #data类型,python3默认的输入是str类型,所以上面的age需要强制转换为int
Job:%s
Salary:%s
''' % (name,name,age,job,salary)
print(info1)
3.
# Author:jack ma
name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")
#字符格式化输出.format法
info3 = '''--------------info of {0} --------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)
七.编写一个编写登陆接口要求如下
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后锁定
# Author:jack ma
username = input("please login username:").strip() #括号里面不写默认去掉两边的空格
user_lockfile = open("lockfile.txt","r+")
user_file = open("user_file.txt","r+")
userlock_list = user_lockfile.readlines() #读出文件里面的内容,不清楚可以打印出来看结果
user_list = user_file.readlines()
for i in range(3):
if username in [j.strip() for j in userlock_list]:
print("Sorry, your account is locked!")
user_lockfile.close()
user_file.close()
exit(1)
else:
if username not in [k.split()[0] for k in user_list]:#split()默认以空分割以逗号的形式分组
print("your username not exist")
user_lockfile.close()
user_file.close()
exit(2)
else:
input_passwd = input("Please input your password:").rstrip()
input_record = username + ' ' + input_passwd
if input_record in [n.strip() for n in user_list]:
print("welcome user %s" %(username))
user_file.close()
user_lockfile.close()
exit(0)
else:
if i == 2: #当连续输入错误3次提示锁定并加入黑名单
user_lockfile.write(username + "\n")
print("Sorry, you'ar locked")
user_file.close()
user_lockfile.close()
exit(3)
else:
chance = 2-i #提示用户密码错误并剩余下多少次机会
print("Wrong password! %s chance left"%(chance))
需要准备的文件名及内容
lockfile.txt
kevin
james
root
user_file.txt
wayne 123
root shroot123