参考资料: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语言
机器码和字节码
字节码即python转换成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
用八个二进制位(一个字节)表示
unicode(万国码)
至少十六个二进制(两个字节)
同一字符在ascill码中表示需占据更多空间和内存
中文用两个字节表示
utf-8(unicode的衍生)
最少能用多少位就用多少位表示
用英文的地方就用ascill表示,用其他语言的地方就用unicode表示
中文用三个字节表示
gbk
专用于中文的编码,中文用两个字节表示
执行一个操作
提醒用户输入:用户和密码
获取用户名和密码,检测用户名是否为root,密码是否为root
input()的用法
等待,获取用户输入的值;可以将值赋值给一个变量 n = input('请输入一个值'),此时变量为字符串类型
如需要将字符串转换成数字类型 n = int(n)
如
n1 = "root"
print(n1)
变量n1代指root,当python执行完转换成字节码交给C时
print(n1) >> print("root") --会直接显示变量内容而不是变量本身
变量名组成
字母 数字 下划线
需以字母开头
不能以数字开头或python自带关键字
建议不要用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
while else语句
count = 0
while count < 10:
print(count)
count = count + 1
else:
print("The End")
continue用法
while count < 10:
print(count)
count = count + 1
continue--以下代码块不再执行,中止并进行下一次while循环
print("Can't read this message")
break用法
while count < 10:
print(count)
count = count + 1
break##以下代码块不再执行,中止并跳出当前循环
print("Can't read this message")
练习题:
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")
break
else:
print ("No the true")
else:
print ("This isn't the root account number")
i = i + 1