python基础
交互器模式
开始--》cmd --> cd c:\ -->dir
cd = change directory (想进入哪个目录,在目录前+cd +目录名)
dir = 查看当前目录文件列表
cd .. 返回上一层目录
cd ../.. 返回上上一层目录
cd ../../.. 返回上上上一层目录
cd ../../../.. 返回上上上上一层目录
D:\>"d:\Program Files\Python35\python.exe" c:\hello.txt
Hello World!
(没有环境变量之前执行程序很麻烦,需要找到路径,不找到就没办法执行你的程序)
#c:\hello.txt .txt 代表文件的扩展名(后缀名),用于区分文件类型(什么类型的文件,储存什么类型的格式-这是规则,养成一个好的习惯。)
.txt 记事本文本文件
.doc word文件
.xls excel文件
.ppt PPT文件
.exe 可执行文件
.jpg .png .jpeg 图片
.gif 动态图片
.pdf PDF文件
.mp4 .avi 视频
.py python文件
.java java 文件
.php php文件
.js javascript
(没有环境变量之前执行程序很麻烦,需要找到路径,不找到就没办法执行你的程序[所以必须需要环境变量])
环境变量(的意义)直接执行python,不用考虑我的python装在哪里。
新手先区分路径、目录和文件的区别。
路径包含目录和文件
目录是:储存目录和文件的地方
文件是:大多数或一般时候带有后缀名,或者通过它的属性了解。
环境变量以后(储存文件不是python[.py]后缀[可以直接修改],在交互器里操作时,如果交互器里的目录不在C盘下,想用python程序在交互器里执行c盘下的python文件,输入python c:/+文件名[准确的、自己设定的或默认的]敲回车就可以执行。如果文件储存类型不是python,文件名输入正确,前边不输入python也会运行此文件,但不会在交互器里执行该文件。如果想在交互器里执行此文件夹(测试目的)前边一定要加python,后缀名一定是python后缀名(.py),就可以执行。)
执行python代码的方式有几种?
执行python程序方式为:
1. 交互器,缺点程序不能永久保存,主要用与简单的语法测试相关。
2. 文件执行(永远是)
Hello World程序
变量
变量 是 为了存储 程序运算过程中的一些中间 结果,为了方便日后调用(变量是为了存储信息和描述信息的。)
Variables变量 are used to store保存、储存 information信息 to be referenced被日后调用 and manipulated操作或更改 in a computer program程序. They also并且还 provide提供 a way方式 of labeling标记 data数据 with a descriptive描述性 name, so our programs can be understood理解 more clearly更清晰 by the reader阅读者 and ourselves我们自己. It is helpful to think of variables as containers容器 that hold保持、保存 information(如果我们把变量看作成是一个保存信息的容器是更容易理解的). Their sole主要 purpose目的 is to label标记 and store存储 data in memory内存里. This data数据 can then然后 be used使用它 throughout整个 your program.
变量的命名规则(规矩)
1. 要具有描述性
2. 变量名只能_,数字,字母组成,不可以是“空格”或特殊字符(#?<.,¥$*!~)
3. 不能以中文为变量名(python可以用中文,也不会出错,但不要用,这是规矩,外国人肯定看不懂,走不出去国门)
4. 不能以数字开头,数字可以在后边
5. 保留字符是不能被使用(如:print等)
student_number(变量名)=30(数据) # python官方建议
studentNumber=30 #驼峰体(微软的程序员喜欢用)
常量 :不变的量 pie = 3.141592653....
在python里面所有的变量都是可变的(python里不区分常亮和变量) ,所以用全部大写的变量名来代表次变量为常量
name="DaveLau" 用引号["]包起来的叫字符串
name2=name 没有用引号[“”]包起来的叫变量名
print(name,name2)
测试结果:DaveLau DaveLau
内存何时释放(回收)?
例如:name2=23
1、del(删除)
del (name2) 敲回车就是强拆之前与他匹配(自己之前设定的)的变量数据,如果之前还有其他的变量名与name2之前的变量数据匹配过,name2强拆之后其他的变量名依然可以读取之前的变量数据。
测试:print(name2)
测试结果:错误,没有name2,提示已经被拆掉。
2、填写新的变量(覆盖原来的数据),如:name2=23修改为name2=10000
测试:print(name2)敲回车
测试结果:10000(以前的数据已经被覆盖,Python会自动清理之前的)
print("hello,world!") print("DaveLau") x=6 y=4 z=x*y print("x乘以y=",z) print("z=",z) #this is my love! print("3*4*5*6/2=",3*4*5*6/2) student_number=30
字符编码
支持中文的第一张表就叫 GB2312
1980 gb2312 6700+
1995 gbk1.0 20000
2000 gb18030 27000
big5 台湾
unicode 万国码 支持所有国家和地区的编码
2**16 = 65535 = 存一个字符 统一占用2个字节
UTF-8 = unicode 的扩展集,可变长的字符编码集
Assic -->Gb2312 ->gbk1.0-->gb18030
Assic -->unicode -->utf-8 /utf-16
Python2.x == Assic 默认编码
Python2.x版本要想支持中文首先必须申明,申明格式如下:
1、#!-*- coding:utf-8 -*-
2、#coding:utf-8
python3.x == unicode默认编码 (不需要申明)
unicode 是向下兼容gb2312 , gbk
注释
单行注释 用#
多行注释用三个单引号或三个双引号开始,中间是 ‘‘‘被注释的内容‘‘‘,后边相应以三个单引号或三个双引号结束。
age_of_princal = 34 guess_age=int( input(">>:")) ‘‘‘ if guess_age==age_of_princal then print("yes") else print("no") ‘‘‘ if guess_age == age_of_princal: print("Yes,you got it!") else: print("No,it‘s wrong!")
input(输入的意思)为了和客户交互:input接收的所有数据都是字符串[备注:用引号(“ ”)包起来的叫字符串],即便你输入的是数字,但依然会被当成字符串来处理。
数据类型(包含很多,先说两个):
(integer的缩写为) int=整数[它是单独的数据类型](数字) 把字符串转成数字,用int() [()当中填写被转的数据]。
(string的缩写为)str=字符串[它是单独的数据类型] 把数据转成字符串,用str() [()当中填写被转的数据]。
数据类型不同两者之间不可以拼接(相加),数字和数字可以相加(拼接),字符串和字符串也可以相加(两个字符串拼接在一块儿)。
death_age=80 name=input("your name:") age=input("your age:")#(integer的缩写为) int=整数(数字) 把字符串转成数字,用int() [()当中填写被转的数据]。(string的缩写为)str=字符串 把数据转成字符串,用str() [()当中填写被转的数据]。 #print(type(age)) #int integer =整数 把字符串转成int,用int(被转的数据) #str string =字符串 把数据转成字符串用str(被转的数据) print("Your name:",name) #print("You can still live for ", death_age - int(age)," years ....") print("You can still live for " + str(death_age - int(age)) +" years ....") death_age=79 name=input("姓名:") age=input("年龄:") print("姓名:",name) print("你还有",death_age-int(age),"年的时间去改变世界,可是别等到最后那一刻!")
判断条件:表达式if (如果)...else(否则)语句 / [ then(然后)]
缩进 IndentationError: expected an indented block
^
IndentationError: unindent does not match any outer indentation level
SyntaxError: invalid syntax 语法错误
tab != 4个空格,(!=,不等于的意思)
缩进级别必须保持一致
逻辑判断:
表达式if(如果)后边加条件....
elif(else if的缩写)后边加条件...
else(否则)后边不可以加条件
score = int(input("score:")) if score > 90: print("A") elif score > 80: print("B") elif score > 70: print("C") elif score > 50: print("D") else: print("滚!")