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),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
随机推荐
- [置顶] 安卓UI组件之ListView详解
ListView是很常见的一个UI组件,在许多App中都很常用,其意思就是可滚动的列表,使用ListView必须使用Adapter(适配器),常用的适配器友谊ArrayAdapter,SimpleAd ...
- Data Guard组件等相关介绍
1.Data Guard组件介绍 Data Guard架构归类为3个主要的组件. Data Guard 重做传输服务 重做传输服务用来将主数据库生成的重做数据传输给备用数据库. Data Guar ...
- 创建Sdcard
下载好源码之后编译生成了模拟器,这个时候的模拟器是没有SDcard的.这个时候需要创建需要为虚拟机创建SDcard 我们创建mksdcard 256M <src>/out/target/p ...
- javascript实现 京东淘宝等商城的商品图片大图预览功能
在京东和淘宝等购买东西的时候,我们会经常预览左侧商品展示图片,把鼠标放到原图,右侧就会有个大图显示出细节.本文将带领大家写一个这样简单的功能! 一.实现原理 当鼠标移入某一图片内部时,图片上部会出现一 ...
- Linux实战教学笔记10:正则表达式
第十节 正则表达式 标签(空格分隔):Linux实战教学笔记 ---更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的 ...
- MVC源码解析 - HttpRuntime解析
先看一张图, 从这张图里, 能看到请求是如何从CLR进入HttpRuntime的. 一.AppManagerAppDomainFactory 看到这张图是从 AppManagerAppDomainFa ...
- Ubuntu14.04安装wineqq国际版出现无法输入中文的解决方法
执行命令:sudo vim /usr/bin/wine-qqintl 将"export LANG=zh_CN.utf8"改为"export LANG=en_US.utf8 ...
- 解决了IE8不支持数组的indexOf方法
ie在过去给我们添了很多坑. if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/ ) { ...
- DOM学习笔记--入门1
HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准. 首先节点有很多种,不仅仅HTML元素是节点,尤其 要注意文本节点的存在. 根据 W3C 的 HTML DOM 标准,HTML ...
- BOGEER博格尔YT-813码表使用说明书 (我的是YT-823)
BOGEER博格尔YT-813码表使用说明书.doc 源:http://w.gdu.me/wiki/Bike/BOGEER-YT-813.html 参数设置 首先要测量出车轮的周长,测出车轮周长后按住 ...