BreeLAN的Python学习之路–

  • 2020 年 1 月 19 日
  • 筆記

Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和计算机硕士学位。

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。

1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。

Python 1.0 – January 1994 增加了 lambda, map, filter and reduce.

1999年 Python的web框架之祖——Zope 1发布

2000年10月16日,Python 2.0发布,Python 2.0加入了内存回收机制,构成了现在Python语言框架的基础

2004年11月30日,Python 2.4发布, 同年目前最流行的WEB框架Django 诞生

2006年9月19日,Python 2.5发布

2008年10月1日,Python 2.6发布

2010年7月3日,Python 2.7发布

2008年12月3日,Python 3.0发布

2009年6月27日,Python 3.1发布

2011年2月20日,Python 3.2发布

2012年9月29日,Python 3.3发布

2014年3月16日,Python 3.4发布

2015年9月13日,Python 3.5发布

。。。

截止至2018年12月,

Python已到3.7版本,python语言在TIOBE流行编程语言排行榜已经上升到第三名!

一、简单的输入与输出:

input()  #以字符串输入

print()  #几乎可以输出一切对象。

二、缩进:

一般语言一样采用{}或者begin…end分隔代码块,而是python中,采用代码缩进和冒号来区分代码之间的层次。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

三、运算符:

1、算数运算符:加“+”、减“-”、乘“*”、除“/”、除取整“//”、除取余“%”、乘方“**”

2、赋值运算符:"=","+=","-=","*=","/=","//=","%=","**="

赋值运算符“=”:a=28,即将储存变量a指向28,若将a的值赋给变量b,即b=a,那么b也将指向28,当a改变,b的值不会变。

其他赋值运算符:

a+=b等价于a=a+b

a-=b等价于a=a-b

a*=b等价于a=a*b

a/=b等价于a=a/b

。。。依次类推

3、比较运算符:">","<",">=","<=","==(等于)","!=(不等于)"

在比较运算的式子中可以连续运算,例如:a=18,10<a<20为真。

比较运算得到的值只有两种:False和True

4、逻辑运算符:"and(且)","or(或)","not(非)"

"and":如同数学中的且,即两端都为真结果才为真,否则为假。

"or":如同数学中的“或”,即两端都为假结果才为假,否则为真。

"not":如同数学中的“非”,单目运算符,“非真”就是“假”,“非假”就是“真”。

优先级:not > and > or

短路原则:在“or”的运算中,例如:a or b,如果式子a为真,那么将不会再去判断后面的式子,返回的值为真。

在“and”的运算中,例如:a and b,如果式子a为假,那么将不会再去判断后面的式子,返回的值为假。

四、入门常用语句:

if语句:即判断语句

格式:if 条件1:

执行语句1

   ( elif 条件2:

执行语句2)

    else :

执行语句2

进入判断语句后,首先判断if后面的条件1是否成立。如果成立,那么将执行语句1,然后跳出判断模块。如果不成立,进行后面的条件判断。但是语句只会执行一种,一旦满足某个条件,其他条件下的语句将不会被执行。

 1 # __author:"Bree LAN"   2 # date:2018/12/16   3   4 name = input("Name:")   5 age = input("Age:")   6 job = input("Job:")   7 salary = input("Salary:")   8   9 if salary.isdigit() and age.isdigit():  10     salary = float(salary)  11     age = int(age)  12 else:  13     exit("the age or salary must input digit")  14 msg = '''  15 --------info of %s--------  16 Name: %s  17 Age : %d  18 Job : %s  19 Salary: %f  20 You will be retired in %d years  21 -----------end------------  22 ''' % (name, name, age, job, salary, 65-age)  23 print(msg)

打印个人信息

for语句:循环语句

for循环语句可以遍历任何序列的对象:列表,字符串,字典,元组等等。

格式:for 变量 in 序列对象:

执行语句1

    (else:

执行语句2)

从序列对象中按顺序取出单个对象赋值给变量,执行语句1,

若序列对象中的所有对象都被取到,正常跳出循环,则执行else下的语句2,非正常跳出循环则不执行。

 1 # __author:"Bree LAN"   2 # date:2018/12/16   3   4   5 _user = "breelan"   6 _passwd = "abc123"   7   8 for i in range(3):   9     username = input("Username:")  10     password = input("Password:")  11     if username == _user and password == _passwd:  12         print("Welcome %s login...." % _user)  13         break  14     else:  15         print("Invalid username or password !")  16 else:  17     print("3次了,不能再多了!")

简单用户登录

while语句:循环语句(无限/有限循环)

格式:while 条件:

执行语句1

    (else:

执行语句2)

满足while后面的条件则执行语句1,知道不满足则跳出循环。

同for,如果正常条出则执行语句2,否则不执行。

 1 # __author:"Bree LAN"   2 # date:2018/12/17   3   4   5 _user = "breelan"   6 _passwd = "abc123"   7   8 count = 0   9  10  11 while count < 3:  12     username = input("Username:")  13     password = input("Password:")  14     if username == _user and password == _passwd:  15         print("Welcome %s login...." % _user)  16         break  17     else:  18         print("Invalid username or password !")  19     count += 1  20     if count == 3:  21         keep_going_choice = input("还想玩吗?[y/n]")  22         if keep_going_choice == 'y':  23             count = 0  24  25 else:  26     print("end")

简单用户登录优化