第一章java
1.python简介python
2.python安装、配置程序员
3.HelloWorld仪式感爆棚编程
4.python解释器安全
5.字符编码和解码app
6.变量ide
7.判断之if....else...性能
8.Python循环之for、while循环优化
♣python简介ui
1989年,世界上的两件大事,python诞生了,我也来到这个世界上,Guido创造了python,.....2005年,Guido加入了Google,python在google内部获得了普遍的应用,这些年推出了N个版本,2009年,Alex接触到了python(或者更早),这个世界上就酝酿着一个大师级别的人物,Alex...,到2015年,最流行的工业版本是2.7,python为何这么火?它为何就这么火?
1.python语言优雅、易读
2.可移植性强
3.可扩展性
4.开发效率高
5.可嵌入的高级语言
它毕竟就是一盘大萝卜.....
1.代码不能加密
2.线程不能利用多cpu
3.运行速度慢
♣python安装、配置
python安装不细说,网上有不一样的版本,安装较简单。
python须要配置环境变量,把python的安装目录放到环境变量的Path变量里便可Path=...;D:\Python27;-Soeasy
♣HelloWorld仪式感爆棚
print("Hello World")
♣python解释器
python解释器包括CPython、IPython、PYPY.....,它们是干什么的呢?咱们在写python脚本时,保存的是之后缀.py结尾的文本文件,想要它运行,就必须依靠python解释器来解释,python是边解释边执行的语言,因此相对于其余编译型语言较慢,并不是绝对....
♣字符编码
电脑的起源,刚开始只是和电路同样只有断开和接通,即只能是简单的识别0和1,0和1,不一样的交叉组合,能够代替大量的数字,仅仅能表达数字并不是计算机的目的,为了支持字母,程序员设计出了一套用数字替代字母或符号的对照表,称之为ASCII码:
最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,因此,ASCII码最多只能表示 255 个符号,1-127被字母占用,其余位能够代替中文,还有其余语言也占用。
为了支持中文,因而程序员又发明了一个码表:GB2312,支持了大量的中文,可是仍是不能表示一些信息,后来又有了GBK支持了图形符号,2000年,gb18030诞生了,支持了其余少数民族文字藏文、蒙文,维吾尔文字等
各国之间都有本身的编码规则,这样不便于操做和管理,为了统一,美国制定了一套大多数国家语言支持的完整的统一的字符编码:Unicode,规定了每一个字符有16位来表示,即2个字节,可是仍是有必定的局限性。UTF-8,是对Unicode编码的压缩和优化,他再也不使用最少使用2个字节,而是将全部的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
如下代码报错,(默认ASCII不支持中文)
1 #!/user/bin/env python 2 3 print("你们一块儿来happy!")
看看这个:
1 #! /user/bin/env python 2 #_-_coding:UTF-8_-_ #设置了字符编码 3 print("你们一块儿来happy!")
♣变量
变量就至关于生活中的菜篮子,可是每一个篮子中存放的是一种菜,计算机中,变量是存储数据的量,以便于数据的使用、操做,python中在使用变量时,没必要先声明类型,能够直接存放数据,这就是动态语言,态类型语言是指在运行期间才去作数据类型检查的语言
举例:
python: name="Bernie"
java: string name= "Bernie"
python是强制类型语言,意思是,一旦被指定了一种数据类型,不通过强制转换,它永远就是这个数据类型了。下面引用定义:
动态语言和静态语言
一般咱们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去作数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远 也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其余的 各类脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言恰好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明全部变量的数据类型,C/C++是静态类型语言的典型表明,其余的静态类型语言还有C#、JAVA等。
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,若是不通过强制转换,那么它就永远是这个数据类型了。举个例子:若是你定义了一个整型变量a,那么程序根本不可能将a看成字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型能够被忽略的语言。它与强类型定义语言相反, 一个变量能够赋不一样数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,可是强类型定义语言带来的严谨性可以有效的避免许多错误。另外,“这门语言是否是动态语言”与“这门语言是否类型安全”之间是彻底没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。
♣if...else:判断,直接上代码
1 # Author:chen 2 #_-_coding:UTF-8_-_ 3 name="chen" 4 age="19" 5 job="IT" 6 7 name=input("my name=")#python3X版本,在2X版本中用raw_input(),而2x版本中的input(),须要先定义变量,否自报错 8 age=input("my age=") 9 job=input("my job=") 10 msg='''==============info of {iname}=================== 11 name={iname} 12 age={iage} 13 job={ijob} 14 '''.format(iname=name,iage=age,ijob=job)#多行注释+格式化输出 15 print(msg) 16 17 msg2='''+++++++++++++++++info of %s++++++++++++++++++++ 18 name=%s 19 age=%s 20 job=%s 21 ''' % (name,name,age,job) 22 print(msg2) 23 msg3='''****************info of {0}******************** 24 name={0} 25 age={1} 26 job ={2} 27 '''.format(name,age,job) 28 print(msg3) 29 #多行注释能够是”“....”“”或‘’‘........’‘’ 30 #经常使用的格式化输出的三种方式~
♣for、while循环经典案例
1 # Author:chen 2 #_-_coding:utf-8_-_ 3 myname="chenxuetao" 4 myage="15" 5 6 count=0 7 while count<3 : #注意True首字母要大写,不知道为何? 8 age = input("age=") 9 if myage>age : 10 print("你猜的年龄小了") 11 elif myage<age : 12 print("你猜的年纪大了") 13 else : 14 print("你猜对了") 15 break 16 count+=1
1 # Author:chen 2 # #_-_codingutf-8_-_ 3 myname="chenxuetao" 4 myage=15 5 count=0 6 while count<3 : #注意True首字母要大写,不知道为何? 7 age = int(input("age=")) 8 if myage>age : 9 print("你猜的年龄小了") 10 elif myage<age : 11 print("你猜的年纪大了") 12 else : 13 print("你猜对了") 14 break 15 count+=1 16 if count == 3: 17 guess=input("你还想继续猜想么?") 18 if guess !="n" : 19 count=0
1 # Author:chen 2 # #_-_coding:utf-8_-_ 3 myname="chenxuetao" 4 myage=15 5 count=0 6 for i in range (1,3): #注意True首字母要大写,不知道为何? 7 age = int(input("age=")) 8 if myage>age : 9 print("你猜的年龄小了") 10 elif myage<age : 11 print("你猜的年纪大了") 12 else : 13 print("你猜对了") 14 break
--while循环时,循环条件要知足才进行循环,当不知足条件时,退出循环,执行下边的代码。
格式是:while True : #True首字母要大写
--for循环,一样的在循环条件知足时执行循环体,for i in range(1,10) :
--当循环条件不知足时,循环跳出
--break,跳出当前执行的语句,能够结束循环,跳出循环,continue,当条件不知足,结束本次循环,执行下一次循环
♣简单的登陆接口实现(优化中...)
文件:
zhao 111 qian 111 sun 111 li 111 zhou 222 wu 222 zheng 222 wang 222
zhao
zhou
wu
1 1 #! /user/bin/evn python 2 2 #_-_coding: utf-8_-_ 3 3 import os,getpass,sys 4 4 5 5 lock_add=0 #记录密码输入次数 6 6 acount_lock=0 # 7 7 8 8 lock_file='lock.txt' 9 9 acount_file='acount.txt' 10 10 while acount_lock<3 : 11 11 username=input("用户名:").strip() #接收用户输入,去掉输入空格 12 12 lock_add+=1 13 13 lock_check=open(lock_file) 14 14 for line in lock_check.readlines() : 15 15 if username ==line.strip() : 16 16 print("您的用户被锁定,请联系管理员") 17 17 sys.exit() 18 18 password=input("密码:").strip() 19 19 flag=False 20 20 acount=open(acount_file) 21 21 for line in acount.readlines() : 22 22 name,passwd=line.strip("\n").split() 23 23 if name==username and passwd==password : 24 24 print("欢迎 %s 登录成功" % name) 25 25 flag=True 26 26 sys.exit() 27 27 acount_lock+=1 28 28 if acount_lock==3 : 29 29 print("您的用户被锁定,请联系管理员") 30 30 rm=open(lock_file,'a') 31 31 rm.write(username) 32 32 rm.write("\n") 33 33 rm.close()
Version2.0
1 #! /user/bin/env python 2 #_-_coding:UTF-8_-_ 3 #Author:Bernie Chen 4 import os,sys,getpass 5 user_file='acount.txt' 6 lock_file='lock.txt' 7 try_time=0 8 try_limite=3 9 count=0 10 flag=False 11 while try_time<try_limite: 12 Username=raw_input("帐户:") # 用户输入登陆帐号 13 Password=raw_input("密码:") # 用户输入登陆密码 14 Name=open(user_file) # 经过参数调用打开正经常使用户文件 15 Lock=open(lock_file) # 经过参数调用打开锁定用户文件 16 for lock in Lock.readlines(): # 循环锁定用户文件。readlines()是一次性读取全部行 17 usename=lock.strip("\n") # 去掉多余的换行,精确取出用户名 18 if usename==Username : 19 print("您的用户被锁定") 20 try_time += 100 #此处是随意加了个值,若是知足则跳出循环 21 break 22 sys.exit(0) 23 if try_time<50: 24 for name in Name.readlines() : #循环锁定用户文件。readlines()是一次性读取全部行,别用成readline() 25 username,password=name.strip('\n').split() #将用户名和密码分别赋值,split()是分割,此处是以空格分割,去掉多余换行 26 if username==Username and Password==password : 27 print("用户登录成功") 28 try_time += 100 29 flag=True 30 break 31 sys.exit(0) 32 elif username!=Username: 33 count+=1 #每当用户名取不到相同,count就增长 34 #print(count) 35 if count == len(open(user_file,'rU').readlines()): #判断conut的值是否和文件的行数相同,若是相同,说明该用户未注册 36 print("您的帐户未注册,请注册后登陆") 37 sys.exit(1) 38 if flag==False: 39 print("用户名或密码错误,您还有%d次机会" % int(2-try_time)) 40 try_time+=1 41 if try_time==3: 42 print("用户已被锁定") 43 locker=open(lock_file,"a") 44 locker.write(Username) 45 locker.write("\n") 46 locker.close()