[Python笔记]第一篇:基础知识
本篇主要内容有:什么是python、如何安装python、py解释器解释过程、字符集转换知识、传参、流程控制
初识Python
一、什么是Python
二、为什么要使用Python
优点:
- 学习成本低
- 开发效率高–拥有丰富而且强大的第三方库
- 高级语言–不用关心底层运作细节
- 可扩展性–Python是一门胶水语言,能于其他语言如C ,C#进行扩展
缺点:
- 执行速度慢
-
代码不能够加密
- 多线程问题
三、安装Python
Ubuntu14.04自带Python2.7
和python3.x
,Windows则需要去官方网站下载exe安装文件
四、第一个Python程序
运行第一个“Hello World”程序,我们需要做的是在编辑器写好以下代码,然后保存为hello.py。
在Linux的终端中输入 python 文件保存路径+hello.py运行程序;Windows请在cmd窗口运行。
#!/usr/bin/env python # -*- coding: utf-8 -*- print 'hello world!' print 'bye-bye world!'
Python基础
"# -*- coding: utf-8 -*-"
为程序文本编码的声明,其作用是告诉解释器此程序的文本以UTF-8格式显示字符。ASCII
码编码方式表示字符数有限,表示诸如汉字等其他语系文字必须使用unicode
,但unicode会有存储浪费的问题,所以采用改进型的UTF-8
编码方式以节省磁盘空间:)
几个字符集转换过程如图所示:
python2编解码小程序,
#!/usr/bin/env python #-*- coding: utf-8 -*- #temp为utf-8格式代码,需要先decode成unicode然后再encode为gbk格式 temp = "张三" # utf-8 temp_unicode = temp.decode('utf-8') temp_gbk = temp_unicode.encode('gbk') print(temp_gbk)
Python 3.x默认采用UTF-8方式进行编码
python3 socket默认以bytes方式传送
所以:
s = "李露" new_bytes_utf = bytes(s, encoding="utf-8") print(new_bytes_utf) new_bytes_gbk = bytes(s, encoding="gbk") print(new_bytes_gbk) # 还原成字符串 new_str = str(new_bytes_utf, encoding="utf-8") print(new_str) # utf8编码一个字符三个字节 b'\xe6\x9d\x8e\xe9\x9c\xb2' # gbk编码一个字符两个字节 b'\xc0\xee\xc2\xb6' # 李露
四、注释符
给Python代码加注释非常简单,对于单行注释使用" # "
,对于多行注释则使用"""
进行注释。
五、如何传入参数
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
- Python内部提供的模块
- 业内开源的模块
- 程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys sys.argv
六、变量名命名规则
1.字母,数字,下划线
2.第一个字母不是数字
3.避开Python关键字:
Python常见关键字:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec','finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise','return', 'try', 'while', 'with', 'yield']
七、条件判断
1.if else语句
python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块
#!/usr/bin/env python #-*- coding: utf-8 -*-
#输入用户名和密码
#如果输入用户名和密码与系统内记录相符合则登录成功
#否则失败
import getpass user = 'alex' pw = '0000' input_user = raw_input("Login:") input_pw = getpass.getpass("Password:") if input_user == user and input_pw == pw : print "Welcome %s" %user else: print "Fail,check your name or password"
2.if elif语句
#!/usr/bin/env python # -*- coding: utf-8 -*-
#根据用户输入的名字打印名字相应的权限
#eric 普通
#tony 超级
#alex 超神
name = raw_input('please input name: ') if name == 'eric': print 'simple' elif name == 'tony': print 'super' elif name == 'alex': print 'god' else: print 'ur not user on this system,bye-bye!'
八、循环
1.while循环
while 语句用于循环执行程序,判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
#!/usr/bin/env python #-*- coding: utf-8 -*- #打印1到4的数字
#起始值为1
#当数字到5则break结束程序
count = 1 while True: if count == 5: break print(count) count += 1
#!/usr/bin/env python #-*- coding: utf-8 -*- #从1开始打印数字 #打印到3时放弃打印 #打印到10退出程序不打印 count = 1 while True: if count == 10: break if count == 3: count += 1 continue print(count) count += 1
2.for循环
for循环可以用来遍历任何序列的项目,比如一个列表或者一个字符串。
#!/usr/bin/env python #-*- coding: utf-8 -*- #遍历一个字典 dic = {"k1":123,"k2":456} for k in dic: print(k,dic[k])
3.continue,break,pass
continue,break 是用来跳过循环的,continue 用于跳过本次循环,break 则是用于彻底退出循环;
如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。
pass是空语句,在判断条件下面加上pass的意思是什么也不执行。保证程序语法完整并且让程序能正常运行。