参考资料:http://www.cnblogs.com/wupeiqi/articles/5433893.html
Python开发分成几类
1、Python基础
2、网络编程
3、web框架(用于写网站)
4、设计模式 + 算法
高级与初级程序员区别就是设计能力强与弱,所谓民工指的就是只码代码,丝毫没有设计
算法能力影响代码运行速度
5、项目阶段
Python基础分为基础(单词),基本数据类型(词汇),函数(名言名句),面向对象
作业: 程序,博客地址
博客园
随笔中写,所以人看的到
文章别人看不到,可以通过url分享
日志别人找不到,URL也看不到
开发: 有操作系统的开发,应用开发
语言越高级,离用户越近越方便,越低级离底层越近代码转换效率越高
高级语言其实就是封装一些低级语言的功能
高级语言:Python,Java,C#,PHP,Go,ruby,C++
低级语言:C、汇编
高级语言底层都是C语言
机器码和字节码
字节码即转换成C语言,可缓存
机器码即机器能明白的语言 0101
语言之间的对比: 以后C语言一定要学,因为C语言是根源,因为高级语言功能都是集成C语言的功能
高级语言越是接近用户,就越是远离底层调用,若是想明白以及精通某些功能就越是需要往下钻
PHP类:适用于写网页,局限性
Python Java:可以写网页 也可以写后台功能
-Python执行效率低,开发效率高
-Java执行效率高,开发效率低
我们通称的Python指的是Cpython
Python其他种类:
Jpython 用java开发的python
Ironpython
JavaScriptpython
RubyPython
...
pypy 用Cpython开发的python
可以缓存字节码(Cpython),提高执行效率 速度最快 不是主流 不够稳定
安装:
Python安装在OS上
执行操作:
写一个文件,文件按照Python的规则写,将文件交给Python解释器,读取文件中的内容,进行转换和执行,最终才获取结果。
python解释器需要做到内存管理,内存的使用以及销毁(垃圾回收)
下载:
python3
python2 python2再逐步更新向python3
windows:安装不细说 执行环境优化:更改环境变量 将应用程序重命名为python2和python3
linux:自带python2 再自己安装python3
第一句python
文件需以.py结尾,当导入模块时,如不是.py文件会报错
两种执行方式
执行py文件或进入解释器实时获取结果
Linux系统中执行py文件
执行文件:./hello.py
文件内容:
#!/usr/bin/env python --指定解释器路径
python执行中文内容
python2中需# -*- coding:utf8 -*- 指定编码格式为utf8
python3中不需要
编码:
ascill 至少8位
unicode 至少16位 --万国码
同一字符在ascill码中表示需占据更多空间和内存
utf-8 能用多少表示就用多少表示
用英文的地方就用ascill表示,用中文的地方就用unicode表示
执行一个操作
提醒用户输入:用户和密码
获取用户名和密码,检测用户名是否为root,密码是否为root
a. input()的用法,等待,获取用户输入的值;可以将值赋值给一个变量 n = input('请输入一个值')
如
n1 = "root"
print(n1)
变量n1代指root,当python执行完转换成字节码交给C时
print(n1) >> print("root") --会直接显示变量内容而不是变量本身
变量名组成
字母 数字 下划线
需以字母开头
不能以数字开头或python自带关键字
if条件语句
代码块:需加空格(缩进)表示是if语句的代码块,代码块之间使用相同缩进,一般为4个空格(Tab键)
if 条件 : print('OK') 代码块 else : print('ERROR') 代码块
if支持嵌套
if 条件 : if 条件 : 代码块 else : 代码块 else : 代码块
if elif语句
if 条件 : 代码块 elif 条件: 代码块 elif 条件: 代码块 else : 代码块
补充: 如果if条件成立,不输出内容可以使用pass
if 条件 : pass else : print('ERROR')
基本数据类型
字符串(双引号包裹的字符)
name = "name" name = """name""" name = 'name' name = '''name'''
加法:
n1 = "abc" n2 = "bcd" n3 = "cde"
乘法:
n1 = "abc" n2 = n1 * 10
数字:
加减乘除次方取余:
age1 = 2 * 5 age2 = 5 / 2 -- 5 / 2 会直接得到浮点数2.5,可用 5 // 2 直接得到整数2 age3 = age1 + age2 age4 = age3 - age1 age5 = age1 % age2 age6 = age2 ** age2
基于取余判断奇偶数
number1 = int(input("Input a number please ")) if (number1 % 2) == 0: print ("Inuput a even") else: print ("Input a odd")
9.循环
死循环
import time while 1 == 1: print("OK",time.time())
动态条件
count = 0 while count < 10: print(count) count = count + 1
练习题:
1、使用while循环输入 1 2 3 4 5 6 8 9 10
i = 1 while i < 11: if i == 7: i = i + 1 else: print (i) i = i + 1
2、求1-100的所有数的和
i = 0 sum = 0 while i < 101: sum = i + sum print (sum) i = i + 1
3、输出 1-100 内的所有奇数
i = 0 sum = 0 while i < 101: if i%2 == 1: sum = i + sum print (sum) i = i + 1 else: i = i + 1
4、输出 1-100 内的所有偶数
i = 0 sum = 0 while i < 101: if i%2 ==0: sum = i + sum print (sum) i = i + 1 else: i = i + 1
5、求1-2+3-4+5 ... 99的所有数的和
i = 0 sum = 0 while i < 101: if i%2 == 1: sum = i + sum i = i + 1 else: sum = sum - i i = i + 1 print (sum)
6、用户登陆(三次机会重试)
name = 'root' passwd = 'redhat' i = 0 while i < 3: number = input("Input your account number: ") if number == name: password = input("Input you account password: ") if password == passwd: print ("you logged in") i = 3 else: print ("No the true") else: print ("This isn't the root account number") i = i + 1