下载地址:https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exepython
PS:动画安装过程参考shell
a) 软件下载编辑器
https://download.jetbrains.8686c.com/python/pycharm-professional-2018.3.5.exe函数
b) 安装软件(仅对重点步骤说明,未提到的部分Next便可。)工具
c) 中文汉化oop
- 汉化包http://dlsw.91donkey.com/software/source/pycharm/pycharm2018-hhb.zip开发工具
- 进入C:\Program Files\JetBrains\PyCharm 2018.3.5\lib目录字体
- 用7zip或WinRAR工具打开resources_en.jar文件优化
- 进入messages目录动画
- 将汉化文件覆盖原文件
- 将resources_en.jar文件名改成resources_cn.jar
d) 注册
- 修改hosts文件绑定域名C:\Windows\System32\drivers\etc\hosts
0.0.0.0 account.jetbrains.com
- 打开PyCharm软件
- 文件 - 设置 - 编辑器 - 文件编码
- 文件 - 设置 - 编辑器 - 文件和代码模板 - Python Script
- 文件 - 设置 - 编辑器 - Font
- 显示编辑器内存占用
设置 - 外观和行为 - 外观 - 显示内存指示的选项勾上,在右下角就显示了当前PyCharm已占用内存状况。
- 修改默认的vm memory
帮助 - 查找操做 - 输入vm - 打开"编辑自定义VM选项"
- 首次打开可能会提示文件不存在,点击建立便可。
- 编辑pycharm64.exe.vmoptions文件,将 -Xms改成1024m, -Xmx改成2048m,保存文件,关闭程序,从新打开pycharm,在右下角发现vm memory显示的内存上限已扩充到了2048m。(参数解释:-Xms 堆内存的最小大小,-Xmx 堆内存的最大大小)
视图 - 工具栏
#!/usr/bin/env python print("Hello World!")
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time: '2019/3/27 11:36' name = "devil" name2 = name print("name,name2") name = "jack" print(name,name2)
单行注释:# 被注释的内容
多行注释(三个双引号或三个单引号):""" 被注释的内容 """
#!/usr/bin/env python # -*- coding: utf-8 -*- name = input("What's your name: ") print("Hello" + name)
格式化输出:方式一(字符串的拼接,在内存里开辟多块空间,效率低下,非必要不建议使用)
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of ''' + name + ''' ------ Name:''' + name + ''' Age: ''' + age + ''' Job: ''' + job print(msg)
格式化输出:方式二
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of $s ------ Name: $s Age: %s Job: %s ''' % (name,name,age,job) print(msg)
格式化输出:方式三
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of {_name} ------ Name: {_name} Age: {_age} Job: {_job} '''.format(_name=name,_age=age,_job=job) print(msg)
格式化输出:方式四(不够清晰,不建议使用)
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of {0} ------ Name: {0} Age: {1} Job: {2} '''.format(name,age,job) print(msg)
利用getpass模块中的getpass方法,实现输入密码时密文不可见的效果。
#!/usr/bin/env python # -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给pwd变量 pwd = getpass.getpass("请输入密码: ") # 打印输入的内容 print(pwd)
注:此模块在pycharm中没法使用
- 用户登陆验证
#!/usr/bin/env python # -*- coding: utf-8 -*- import getpass name = input("请输入用户名: ") pwd = getpass.getpass("请输入密码: ") if name == "devil" and pwd == "abc123": print("Welcome user {_name} login...".format(_name=name)) else: print("Invalid username or password!")
- 猜年龄游戏
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") elif user_input > my_age: print("think smaller!") else: print("think bigger!")
- 死循环
#!/usr/bin/env python # -*- coding: utf-8 -*- while True: print("无限循环... ",count) count = count + 1 # count +=1
- 循环100次退出
#!/usr/bin/env python # -*- coding: utf-8 -*- count = 0 while True: print("循环... ",count) count +=1 if count == 100: print("已循环100次,自动退出循环.") break
- 如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") break elif user_input > my_age: print("think smaller!") else: print("think bigger!") count +=1 # 每次loop 计数器+1 else: print("猜了这么屡次都不对,你个笨蛋.")
- 循环10次
#!/usr/bin/env python # -*- coding: utf-8 -*- for i in range(10): print("loop ",i)
run result:
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
loop 7
loop 8
loop 9
- 每隔2个数打印
#!/usr/bin/env python # -*- coding: utf-8 -*- for i in range(0,10,2): print("loop ",i)
run result:
loop 0
loop 2
loop 4
loop 6
loop 8
- 仍是上面猜数的游戏,当循环到3次的时候询问是否继续
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") break elif user_input > my_age: print("think smaller!") else: print("think bigger!") count +=1 # 每次loop 计数器+1 if count == 3: countine_confirm = input("do you want to keep guessing...?") if countine_confirm != "n" and countine_confirm != "no": count = 0
一、break:直接结束一个循环,跳出循环体。break之后的循环体中的语句不会继续执行,循环体外面的会执行。
二、continue:停止本次循环,继续下次循环。continue之后的循环体中的语句不会继续执行,下次循环继续执行,循环体外面的会执行。
三、return:return的功能是结束一个方法。一旦在循环体内执行return,将会结束该方法,循环天然也随之结束。与continue和break不一样的是,return直接结束整个方法,无论整个ruturn处于多少层循环以内。
参照文章:https://blog.csdn.net/zyw0101/article/details/84649397
Python2默认为ASCII编码,而Python3默认为Unicode编码
- Python2中print为class
print 'Python', python_version() print 'Hello, World!' print('Hello, World!') print "text", ; print 'print more text on the same line'
run result:
Python 2.7.15
Hello, World!
Hello, World!
text print more text on the same line
- Python3中print为一个函数,必须用括号括起来。
print('Python', python_version()) print('Hello, World!') print("some text,", end="") print(' print more text on the same line')
run result:
Python 3.6.8
Hello, World!
some text, print more text on the same line
- Python2的input获得的是int类型,raw_input获得的是str类型。
注:python2.x中要避免使用input()
>>> num = input("enter a number: ") enter a number: 123 >>> type(num) <type 'int'> ###### 分隔符 ###### >>> num = raw_input("enter a number: ") enter a number: 123 >>> type(num) <type 'str'> ###### 分隔符 ###### >>> name = input("enter your name: ") enter your name: devil Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> name = input("enter your name: ") File "<string>", line 1, in <module> NameError: name 'devil' is not defined
- Python3中input获得的是str类型
>>> num = input("enter a number: ") enter a number: 123 >>> type(num) <class 'str'>
- Python2中带上小数点/表示真除,%表示取余,//结果取整
print 'Python', python_version() print '3 / 2 =', 3 / 2 print '3 // 2 =', 3 // 2 print '3 / 2.0 =', 3 / 2.0 print '3 // 2.0 =', 3 // 2.0
run result:
Python 2.7.15
3 / 2 = 1
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
- Python3中/表示真除,%表示取余,//结果取整
print('Python', python_version()) print('3 / 2 =', 3 / 2) print('3 // 2 =', 3 // 2) print('3 / 2.0 =', 3 / 2.0) print('3 // 2.0 =', 3 // 2.0)
run result:
Python 3.6.8
3 / 2 = 1.5
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
- 做业一:博客
博客地址:https://www.cnblogs.com/91donkey/
- 做业二:编写登陆接口
一、输入用户名密码
二、认证成功后显示环境信息
三、输错三次后锁定
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time: '2019/3/29 10:37' f = open("d:\\user.txt",'r') authfile = f.read() count = 0 while count < 3: username = input("请输入用户名: ") try: f = open("d:\\lock.txt", 'r') lock_user = (f.readline()).strip() if username == lock_user: print("输入的帐户因屡次尝试登陆,已被锁定......请与管理员进行联系!") break f.close() except: print("",end="") password = input("请输入密码: ") if username == authfile.split()[0] and password == authfile.split()[1]: print("登陆成功,欢迎 %s 回来..." % username) break else: if count == 2: print("尝试登陆错误次数过多,帐户被锁定,请稍后重试...") f = open("d:\\lock.txt", 'a') f.write(username+"\n") f.close() else: print("Invalid username or password!") count +=1 f.close()
优化空间:当user.txt和lock.txt中存在多条记录的时候该如何判断。
- 做业三
一、三级菜单
二、可依次选择进入各子菜单
三、所需新知识点:列表、字典