Python第一天课程
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
Python第一天课程的更多相关文章
- Python 第一课笔记
1.Hello World程序的两种方法 在windows下执行 1.编辑器里输入,不用编译 print("Hello World!") 直接就可以运行 2.可以 ...
- python第一站
python 第一站,豆瓣-美国末日评论小爬虫 最近学习python,但是光是看书看视频学习,总是觉得掌握的不够扎实.所以就决定自己去写写爬虫,当带着目的性去学,也许更容易发现自己需要什么.这是酝酿多 ...
- python入门学习课程推荐
最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...
- Python第一天 安装 shell 文件
Python第一天 安装 shell 文件 python里面一切都是对象 object 代码缩进:建议用四个空格来缩进,不要用tab键 安装 Linux自带python,windows需要下载m ...
- Python第一天——入门Python(1)数据定义
数据类型: 什么是数据? 在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母.符号和模拟量等的统称.现在计算机存储和处 ...
- 简学Python第一章__进入PY的世界
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python第一行代码
Python版本:Python 3.6.1 0x01 命令行交互 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计 ...
- python第一周总结
这一周将开启学习python第一周,开始之前学过python但是没有学精,到现在基本快忘记了,只能记住大概什么样子了emmm 作业计算bmi 这周作业为计算bmi,小明身高1.75,体重80.5.请根 ...
- python第一章:简介与安装--小白博客
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
随机推荐
- VMware vSphere 服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版
VMware vSphere服务器虚拟化之二十 桌面虚拟化之准备虚拟桌面模版 在虚拟桌面的部署中,我们必须准备好作为桌面模板的父映像,通过父映像使用完整克隆或者View Composer的链接克隆,创 ...
- Fragment与Activity交互(使用Bundle)
将需要传输的数据封装在一个Bundle对象里,然后将该Bundle对象通过 fragment.setArguments()放到fragment内. Bundle arguments = new Bun ...
- js jquery 实现html页面之间参数传递(单一参数、对象参数传递)
最近自己在忙着做毕业设计,后台程序员,前端菜鸡,因为需要,所以实现了html页面之间参数传递.------jstarseven .菜鸡的自我修养. 页面A代码如下: <!DOCTYPE html ...
- [ios2]蓝牙通信【转】
iPhone开发应用中关于GameKit蓝牙实例讲解是本文要介绍的内容,主要是来了解并学习GameKit蓝牙实例.介绍一下这个实例实现的是两个带有蓝牙设备的touch之间的一个小游戏,在界面上有个可以 ...
- [HMLY]11.MVVM架构
概要 MVC架构,Model-View-Controller,如图一所示为一个典型的MVC设置. 图一:mvc Model呈现数据 View呈现用户界面 Controller调节两者之间的交互.从Mo ...
- Docker环境下如何安装Zookeeper
第一步:首先下载Zookeeper的镜像文件: 从仓库中pull 这个zookeeper镜像:docker pull jplock/zookeeper:3.4.8 然后docker images查看该 ...
- git stash让bug来的更猛烈些吧
git stash可以用来暂存当前正在进行的工作,比如想pull最新的代码,又不想加新commit, 或者有一个紧急的bug需要修复,但是这个bug又与你已经在做的工作(还没完成)有关联.这个时候有的 ...
- jquery新版本不支持toggle()的解决方法
toggle() 方法用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件. 在1.9以后官方废除了这个方法: 解决如下 在需要调用的js文件下引用 $.fn.toggle = ...
- 走迷宫 (nyoj 306)
学习自此博客题解 二分搜索+深搜.二分枚举最小差距值(路径上的最大值与最小值的差距),枚举的最小值为abs(a[1][1]-a[n][n]),最大值为题目给出的120.搜索时代入这个最小差距值,若存在 ...
- 在server2012安装tfs遇到的问题:KB2919355
参考资料:http://blog.csdn.net/wo_984633714/article/details/52869851 安装tfs2015的时候,提示需要安装KB2919355的更新.然后我就 ...