1、在linux下写python脚本,开头的解释器宣告的写法应该是#!/usr/bin/env python

定义变量name="XXX"  age=21   所有使用引号引起的内容都是字符串

变量的意义是标示数据,所以变量名称应该有意义

遇到复杂变量名是使用“_”分割多个单词或单词首字母大写

son_of_twins_brother_age = 2

NameOfTwinsGf = "FengJie"

不可以使用“-”连接单词

不可以使用数字开头

不可以使用特殊字符

变量名中不可以有空格

不可以使用关键字作为变量

在python2.X的时候默认支持ASCII编码,如果需要中文需要明确指示编码表,写法为:

#!/usr/bin/env python

#_*_ coding:utf-8 _*_

python3默认使用utf-8编码,因此不需要特别宣示,仅需要

#!/usr/bin/env python用来宣示解释器即可(linux运行)

python开发规范,每一行最大不应超过80个字符

注释

#用于单行注释

使用3个引号(前后各三个)用于多行注释

'''

XXX

XXX

'''

打印用户输入的内容

在3.0中的写法

user_input = input("input your name:")

print("user input msg:",user_input)

在2.7中的写法

user_input = raw_input("input your name:")

print("user input msg:",user_input)

在2.7中input会认为你输入的不是字符串,而是变量名,因此如果要将输入的内容付给变量,应该使用raw_input。否则会报错

但是input如果是数字,就会认为是数字。因此 在2.7中input可以是数字,也可以是变量名,如果是字符串则只能用raw_input

因此2.7中基本不用input

格式化字符串

#!/usr/bin/envpython

#_*_coding:utf-8_*_

Name=input("inputyourname:")

Age=input("inputyourage:")

Job=input("inputyourjob:")

msg='''

Informationforuser:%s

-----------------------

Name:%s

Age:%s

Job:%s

-----------END------------

'''%(Name,Name,Age,Job)# %前后均有空格

print(msg)

%s代表字符串,还可以替换为%d代表输入的是数字

但是如果要使用%d,必须要确保这个变量为数字类型,input输入的内容都是字符串类型,因此Age变量不能直接使用%d,而要将输入的内容转为int类型

Age=int(input("input your age: "))

Name=input("inputyourname:")

Age=int(input("inputyourage:"))

Job=input("inputyourjob:")

msg='''

Informationforuser:%s

-----------------------

Name:%s

Age:%d

Job:%s

-----------END------------

'''%(Name,Name,Age,Job)#%前后均有空格

print(msg)

格式化数据类型有3中

$s 字符串

$d 数字

$f 小数

导入模块(导入的内容只能在windows的CMD或linux下使用,pycharm不能用)

import getpass #导入一个可以使输入变成密文的模块

username = input("username: ")

password = getpass.getpass("password : ")

import os #导入系统命令模块

os.system("df") #用于打印系统命令

os.mkdir("/root/123") #用于创建一个文件夹

os.system("df -h") 这个命令的输出有2个,一个是实际的命令输出,一个是输出结果,命令输出就是df的内容(系统存储使用情况),输出结果就是0

如果我们直接 cmd = os.system("df -h"),则cmd中只有输出结果,如果要想将命令输出复制则应该写为

cmd = os.popen("df -h").read(),先用popen将结果保存到内存中,再read一下

实际import 命令后面接的模块就是一个python的脚本,但是不能带.py后缀

可是这个脚本的位置需要注意,默认情况下系统会到特定的路径下寻找脚本,或者是当前路径下。查找特定路径的方法为

import sys

print(sys.path)

>>> import sys

>>> print(sys.path)

['', '/usr/local/python3/lib/python35.zip', '/usr/local/python3/lib/python3.5', '/usr/local/python3/lib/python3.5/plat-linux', '/usr/local/python3/lib/python3.5/lib-dynload', '/usr/local/python3/lib/python3.5/site-packages']

从这里可以看出因为第一个位子的是'',因此说明当前路径的优先级是最高的,因此如果在当前路径下存在一个其他路径中的同名脚本,则当前路径优先

我们可以自己写一个模块,就用之前的

import getpass

username = input("username: ")

password = getpass.getpass("password : ")

print(username,password)

保存为pass.py,然后将其保存到上面的路径中,之后就可以在其他的脚本中import pass来导入这个模块了

if 判断

python是一个有强烈格式的语言,其语法格式依照严格的缩进

user="XXX"

passwd="cisco,123"

username=input("inputyourusername;")

password=input("inputyourpassword:")

if user == username:

print("usernameiscorrect...")

if passwd == password:

print("Welcomelogin...")

else:

print("passwordisinvalid...")

else:

print("usernameisinvalid")

同时,if可以多条件判断

user="XXX"

passwd="cisco,123"

username=input("inputyourusername;")

password=input("inputyourpassword:")

if user==username and passwd==password:

print("Welcome login")

else:

print("usernameorpassworisinvalid")

循环

for i in range(10):  range(10)代表0到9的10个数

循环10次,但是只能猜3次,超过3次自动跳出

age=32

foriinrange(10):

ifi<3:

gage=int(input("inputage:"))

ifgage>age:

print("guessmorethanage")

elifgage<age:

print("guesslessthanage")

else:

print("yougotit")

break

else:

print("toomanytimes")

break

for i in range(10)

i=100

在上面的内容中,range(10)代表的是一个序列,因此在for的循环中每次i的值是这个序列中的值依次被赋值,即便下面重新将i赋值,只要仍在这个循环中,这个i仍然会被range覆盖

跳出程序

1、跳出整个程序,break,设置完成后,当运行到break时,就会结束程序

2、跳出当次循环,continue,设置完成后,当运行到continue时,会结束当次循环,但是整体循环仍然还会有

作业一:博客

作业二:编写登录程序

输入用户名密码

认证成功后显示欢迎信息

输错三次后锁定

作业三:多级菜单

1.北京

2.上海

>>input

1.东城

2.西城

>>input

1.沙河

>>input

同时输入b返回上级菜单,q退出程序

流程图 processon.com

readme:

SVN:

作业命名day1

最新文章

  1. UVA 10791 Minimum Sum LCM(分解质因数)
  2. 网站内容禁止复制和粘贴、另存为的js代码(转)
  3. 【转】ES6 手册
  4. Codeforces Round #363 LRU(概率 状压DP)
  5. [游戏模版8] Win32 透明贴图
  6. Java 编辑tips
  7. 电赛初探(一)&mdash;&mdash;正弦波、方波、锯齿波转换
  8. 冒泡排序:一百以内十个随机数放入数组排序并打印&lt;
  9. POJ 2135 Farm Tour(最小费用最大流,变形)
  10. 老陈---谈Delphi中SSL协议的应用[转]
  11. SVN 权限配置具体说明
  12. go之匿名字段
  13. opencc 繁体简体互转 (C++示例)
  14. golang 多维数组
  15. 使用Openresty加快网页速度
  16. Python科学计算和可视化
  17. 「jQuery」获取元素的高度
  18. WinRAR如何批量分别压缩不同的文件夹
  19. 〖Linux〗Ubuntu中使用KVM安装虚拟机
  20. ORA-01917: user or role &#39;PDB_DBA&#39; does not exist

热门文章

  1. 使用DOM4J解析XML文档,以及使用XPath提取XML文档
  2. Markdown写作
  3. JavaScript星级评分
  4. 将List 中的ConvertAll的使用:List 中的元素转换,List模型转换, list模型转数组
  5. Crystal Report 纵向排列,多列格式化
  6. 第9章 创建Web数据库
  7. find用法积累
  8. SASS相关
  9. ngDialog 设置其宽度大小
  10. unittest框架概要