本篇主要内容有:什么是python、如何安装python、py解释器解释过程、字符集转换知识、传参、流程控制

初识Python

一、什么是Python

Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
 

为什么要使用Python

优点:

  • 学习成本低
  • 开发效率高–拥有丰富而且强大的第三方库
  • 高级语言–不用关心底层运作细节
  • 可扩展性–Python是一门胶水语言,能于其他语言如C ,C#进行扩展

缺点:

  • 执行速度慢
  • 代码不能够加密

  • 多线程问题

三、安装Python

Ubuntu14.04自带Python2.7python3.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基础

 
解释器
前面的第一个Python程序中"#!/usr/bin/env python"为在程序文件头上声明需要调用的解释器,这样做的目的是让python程序能在类unix系统上正确执行。
 
执行过程
 
Python程序的执行过程是:
加载内存–>词法分析–>语法分析–>放入编译–>生成机器码–>执行机器码文本编码
 
三、字符集问题
前面的第一个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程序非常简洁。类库有包括三中:

  1. Python内部提供的模块
  2. 业内开源的模块
  3. 程序员自己开发的模块

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 = '' 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的意思是什么也不执行。保证程序语法完整并且让程序能正常运行。

[Python笔记]第一篇:基础知识的更多相关文章

  1. 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识

    写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...

  2. python笔记01:基础知识

    1.4 数字和表达式 # -*- coding:utf-8 -*- #1.4 #除法 print 1 / 2 print 1.0 / 2 print 10 / 3 print 10.0 / 3.0 p ...

  3. (一)Python 学习第一天--基础知识,列表

    1. .pyc文件 .pyc文件:在python3中,当模块运行时会自动生成在_pycache_文件夹中,其中c为compiled的缩写. Python是一门现编译后解释的语言,在运行时首先寻找.py ...

  4. 20151009 C# 第一篇 基础知识

    20151009 C#:优点: 1. 语法简洁:不直接操作内存,去掉了指针操作 2. 面向对象:具有封装.继承.多态特性 3. 支持Web标准:支持HTML.XML.SOAP 4. 兼容性:遵循.Ne ...

  5. 《Java并发编程实战》读书笔记-第一部分 基础知识小结

    并发技巧清单 可变状态是至关重要的 所有的并发问题都可以归结为如何协调对并发状态的访问.可变状态越少,就越容易确保线程安全性. 尽量将域声明为final类型,除非需要它们是可变的. 不可变对象一定是线 ...

  6. [译]PrestaShop开发者指南 第一篇 基础

    # 第一篇 基础 PS(PrestaShop简称)一开始就设定了能够在它的基础上很简单的构建第三方模块的机制,让它成为一款具有极高定制性的电子商务软件. PS的可以在三个方面进行定制: * 主题 * ...

  7. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  8. 《javascript权威指南》读书笔记——第一篇

    <javascript权威指南>读书笔记——第一篇 金刚 javascript js javascript权威指南 由于最近想系统学习下javascript,所以开始在kindle上看这本 ...

  9. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

随机推荐

  1. COJ 0581 4022农夫喂牛

    4022农夫喂牛 难度级别:D: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 农夫老张养了N头牛,编号分别从1到N.现在,它们要“用餐”,按 ...

  2. COJ 0986 WZJ的数据结构(负十四) 区间动态k大

    题解:哈哈哈我过了!!!主席树+树状数组写起来还真是hentai啊... 在这里必须分享我的一个沙茶错!!!看这段代码: void get(int x,int d){ ]=root[x];x;x-=x ...

  3. 【Express】路由

    var express = require('express'); var app = express(); app.set('port', process.env.PORT || 3000); ap ...

  4. [Java] 类和接口的初始化步骤 - 继承方面

    类和接口在初始化化时,处理继承层级的方法不一样. 类继承的初始化:通过引用 static 字段,触发某个类的初始化,则声明该字段的类,以及该类的父类被初始化. 接口继承的初始化:通过引用 static ...

  5. Exception testing

    怎样去验证代码是否抛出我们期望的异常呢?虽然在代码正常结束时候验证很重要,但是在异常的情况下确保代码如我们希望的运行也很重要.比如说: new ArrayList<Object>().ge ...

  6. 标准简单SP模板(oracle)

    /* -- @author: Lijy -- @function: 员工入职的信息检查程序 -- @parr: P_URID 为workshop操作账号的ID,前台通过 {U_URID} 全局参数获取 ...

  7. Unity3D基础学习 NGUI之Example 13 - Tabs简要概述

    首先建一个2D相机,在Anchor下新建一个子物体,添加WindowDrag Tilt脚本,用作拖动窗口 然后新建一个Panel,包含两个content,两个Tab,设置两个Content用来显示切换 ...

  8. android实现界面左右滑动(GridView动态设置item,支持每个item按某个属性排序来显示在不同的界面)

    效果图 :                         分别是第一页.第二页.第三页,随手截的图,不整齐,勿见怪.开始走了弯路,废了不少时间. 思路如下: 1.用ViewPager实现左右分页滑动 ...

  9. GCC编译选项

    一.看例子分析gcc 的编译选项 gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld 1.-I /home/h ...

  10. Js 正则表达式知识测试

    本文对javascript中正则表达式进行了总结汇总,将知识点和注意点都理了一下,并附上2个练习题,供大家参考学习. 正则表达式: 1.什么是RegExp?RegExp是正则表达式的缩写.RegExp ...