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),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
随机推荐
- JVM内存模型及垃圾收集策略解析(一)
JVM内存模型是Java的核心技术之一,之前51CTO曾为大家介绍过JVM分代垃圾回收策略的基础概念,现在很多编程语言都引入了类似Java JVM的内存模型和垃圾收集器的机制,下面我们将主要针对Jav ...
- [DL学习笔记]从人工神经网络到卷积神经网络_3_使用tensorflow搭建CNN来分类not_MNIST数据(有一些问题)
3:用tensorflow搭个神经网络出来 为什么用tensorflow呢,应为谷歌是亲爹啊,虽然有些人说caffe更适合图像啊mxnet效率更高等等,但爸爸就是爸爸,Android都能那么火,一个道 ...
- CHM木马
一. 弹出计算器 打开EasyCHM,工具 -> 反编译指定的CHM,选择目标文件和反编译工作目录. 进入反编译的工作目录,找到并编辑主页文件,这里是index.html 在<body&g ...
- 【百科】CLEO 逐推縮寫命名法
一. 適用場合 1. C# Windows Forms 等窗體開發技術的控件名稱縮寫: 2. 強行縮寫駝峰命名法(Camel-Case).帕斯卡命名法的英文的時候: 二. 命名規則 1. 首字母大寫: ...
- 9.mybatis动态SQL标签的用法
mybatis动态SQL标签的用法 动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么 ...
- TCP/IP协议中backlog参数
TCP建立连接是要进行三次握手,但是否完成三次握手后,服务器就处理(accept)呢? backlog其实是一个连接队列,在Linux内核2.2之前,backlog大小包括半连接状态和全连接状态两种队 ...
- Salesforce自主学习(一)
Salesforce学习--接触Apex: 学习目标: 1.描述出Apex程序语言的关键特点: 2.保存一个Apex类并用另一个Apex类来调用它的方法: 3.使用Developer Console检 ...
- Chapter 2 Open Book——34
His gaze became appraising. "You put on a good show," he said slowly. 他的凝视变成了评价.“你上演了一场好戏” ...
- 生成 Qt 文档
个人总结 从命令行进入Qt安装目录 设置环境变量 set path=D:/mingw32/bin;D:/Qt/5.0.0/qtbase/bin;D:/icu/bin;D:/icu ...
- seajs +gruntjs 合作开发
nodejs的出现 让服务器端能运行 js commonjs规范 规范服务器端开发按照什么写法去写 包括模块化开发 ( 不同点 请求在本地 js加载) AMD规范 浏览器端开发的规范 (不同点: 浏览 ...