(本章内容:一些杂乱的python入门,变量,编码与解码等)
1. 第一个python程序
交互器模式
开始--》cmd--> cd c:\ -->dir
在根目录是切换盘 d: 、g:
tab键补全
cd = change directory
dir = 查看当前目录文件列表
cd .. 返回上一层目录
cd ../.. 返回上上一层目录
不切换盘执行python程序:
python盘:\路径\py文件名
需设置环境变量:
D:\Program Files\Python35\Scripts\;
D:\ProgramFiles\Python35\;
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
D:\Program Files\Python27
2. 执行py程序方式为:
1. 交互器,缺点程序不能永久保存,主要用与简单的语法测试相关
2. 文件执行
3. 文件后缀名
.txt 记事本文本文件
.doc word文件
.xls excel文件
.ppt PPT文件
.exe 可执行文件
.jpg .png .jpeg 图片
.gif 动态图片
.pdf PDF文件
.mp4 .avi 视频
.py python文件
.java java 文件
.c .h c源码
.php php文件
.js javascript
4. python在windows下需要安装
将安装路径添加在环境变量的path下。
python在linux和mac下无需安装。
5. 变量、字符编码
变量
变量 是 为了存储 程序运算过程中的一些中间结果,为了方便日后调用
变量的命名规则
1. 要具有描述性
2. 变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~)
3. 不能以中文为变量名
4. 不能以数字开头
5. 保留字符是不能被使用
常量 :不变的量 pie =3.141592653....
在py里面所有的变量都是可变的 ,所以用全部大写的变量名来代表次变量为常量
python内存回收机制
字符编码
ASCII码规定任意一个字符都占8bit=1个字节
支持中文的第一张表就叫 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 默认编码
#!-*- coding:utf-8 -*-
#coding:utf-8
python3.x == unicode默认编码
unicode 是向下兼容gb2312 , gbk
6. 注释
单行注释 用#
多行注释用三个单引号或三个双引号 '''被注释的内容'''
三个引号其他作用:打印多行内容
例如:msg='''hello1
hello2
hello3
'''
在python中,双引号和单引号代表意思相同
7. 用户输入
name=input()
name=input(“yourname:”)
#input接受的所有数据都是字符串,即便你输入的是数字,但依然会被当成字符串来处理
注:‘,’为空格,‘+’没有空格
print(type(age) )
#intinteger =整数 把字符串转成int,用int(被转的数据)
#strstring =字符串把数据转成字符串用str(被转的数据)
8. if语句
①ifguess_age == age_of_princal then
print("yes")
else
print("no ")
②if guess_age == age_of_princal:
print("Yes,you got it..")
elifguess_age > age_of_princal:
print("shoud try samller..")
else:
print("try bigger...")
9. 缩进(只有python要求缩进,tab键)
报错未缩进:IndentationError: expected an indented block
空格不能代替tab键(tab != 4个空格):IndentationError:unindent does not match any outer indentation level
语法错误:SyntaxError: invalid syntax
缩进级别必须保持一致
一般将tab键设置为4个空格键。
note++里,设置,制表符设置转换为空格。
视图—》显示符号—》显示空格和制表符
10. 多分支if语句
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("滚")
11. 运算符
算数运算符:
+,-,*,/
整除// 取余% 指数**【优先级最高】
比较运算符:
> < >= <= != TRUE FALSE
python支持:
if b<= a <= c:
print("True")
赋值运算符:
num += 1 等价于 num = num + 1
num -= 1 等价于 num = num - 1
num *= 2 等价于 num = num * 2
num /= 2 等价于 num = num / 2
num //= 2 等价于 num = num // 2
num %= 2 等价于 num = num % 2
num **= 2 等价于 num = num ** 2
逻辑运算符:
and or not(不)
not 5>3 == False
not 5<3 == True
优先级:not > and > or
短路原则:
对于and 如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式 的计算结果就一定为假,第二个条件就不会被计算
对于or
如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式的计算结果就一定为真,第二个条件就不会被计算
12. while 循环
① while 条件:
print("any")
print("any")
(else:)
② num = 1
while num<=100:
ifnum%2 == 1:
print(num)
num+= 1
③ flag = True
while flag:
user_input_age = int(input("Age is :"))
ifuser_input_age == age:
print("Yes")
flag =False 【可以用break】
elif user_input_age > age:
print("Is bigger")
else:
print("Is smaller")
print("End")
④ height = int(input("Height:")) # 用户输入一个高度
width = int(input("width:")) # 用户输入一个宽度
num_height = 1
while num_height <=height:
num_width = 1
while num_width <= width:
print("#", end="")
num_width += 1
print()
num_height += 1
⑤ 输出*型三角塔
num1=0
while num1 <= 5:
tmp=num1
while tmp >=0:
print("*",end="")
tmp=tmp-1
print()
num1 += 1
⑥ 九九乘法表
first = 1
while first<=9:
sec= 1
while sec <= first:
print( str(sec)+"*"+str(first) +"="+str(sec * first), end="\t")
sec += 1
print()
first += 1
13. 制表符
#print("helloworld.",end="__") #\n \r\n \r
\n:换行符 \r:回车
print() # 等价于print(end="\n")
14.编码与解码
详细文章:
http://www.cnblogs.com/yuanchenqi/articles/5956943.html
http://www.diveintopython3.net/strings.html
需知:
1.在python2默认编码是ASCII, python3里默认是unicode
2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间
3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string
上图仅适用于py2