Python第一天课程

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

 

定义变量name="XXX"  age=21   全部使用引号引发的内容都是字符串linux

 

变量的意义是标示数据,因此变量名称应该有意义windows

 

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

 

son_of_twins_brother_age = 2编码

NameOfTwinsGf = "FengJie"orm

 

不可使用“-”链接单词ip

不可使用数字开头内存

不可使用特殊字符utf-8

变量名中不能够有空格ssl

不可使用关键字做为变量

 

在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覆盖

 

跳出程序

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

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

 

 

 

 

 

做业一:博客

 

做业二:编写登陆程序

输入用户名密码

认证成功后显示欢迎信息

输错三次后锁定

 

做业三:多级菜单

1.北京

2.上海

>>input

    1.东城

    2.西城

>>input

        1.沙河

>>input

 

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

 

 

流程图 processon.com

readme:

SVN:

做业命名day1

相关文章
相关标签/搜索