一、Python介绍
上来就偷个懒,网上有大把的python3介绍,我就不复制粘贴了,哈哈。
二、Python安装
Windows:
首先按装anaconda。anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda
来进行package和environment的管理,并且已经包含了Python和相关的配套工具。anaconda下载链接:https://www.continuum.io
这里先解释下conda、anaconda这些概念的差别。conda
可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
说明一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。
链接: http://www.jianshu.com/p/2f3be7781451
三、Python学习仪式—“Hello World”
1 #/user/bin/env python 2 3 print("Hello World")
四、变量/字符编码
声明变量:
1 #_*_coding:utf-8_*_ 2 3 name = "Irlo"
上述代码声明了一个变量,变量名为: name,变量name的值为:"Irlo"。在python3中默认使用UTF-8,所以一般无需声明
变量的定义规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['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']
变量的命名规则:
- 变量名要有意义,例如name、age、job等
- 变量名不要用中文(就算python可以支持中文运行)
- 不要用拼音(保持高逼格)
例:跑车哥的女朋友的名字
1 gf_of_paochege = "Chen rong hua" #python常用下划线 2 GFOfPaochege = "Chen rong hua" #写windows程序的常用写法,驼峰式
python没有常量的概念,当你想要表示一个常量的时候用“PIE =”表示
字符编码:
ASCII 255 1bytes
--> 1980 gb2312 7000+
-->1995 GBK1.0 2w+
-->2000 GB18030 2.7w+
-->unicode 2bytes
-->utf-8 en:1byte,zh:3bytes
ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存(中文占三个字节)
五、注释
当行注释:#被注释的内容
多行注释:"""被注释的内容"""
六、用户输入
1 username = input("username:") 2 password = input("password:") 3 print(username,password)
基本应用:
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 salary = input("salary:") 5 info = '''' 6 --------info of ''' + name + ''' -------- 7 name:''' + name + ''' 8 age:''' + age + ''' 9 job:''' + job + ''' 10 salary:''' + salary + ''' 11 """ 12 #用'''+'''的方式为字符串拼接,尽量不用,因为使用它会开辟好几块内存,效率低下
1 name = input("name:") 2 age = input("age:") 3 job = input("job:") 4 salary = input("salary:") 5 info = """ 6 --------info of %s -------- 7 name:%s 8 age:%s 9 job:%s 10 salary:%s 11 """% (name,name,age,job,salary) 12 #%s s代表string(字符) 13 #%d d代表digit(数字) 14 #%f f代表float(浮点) 15 16 info2 = ''' 17 ------- info of {name} -------- 18 name:{_name} 19 age:{_age} 20 job:{_job} 21 salary:{_salary} 22 '''.format(_name=name, 23 _age=age, 24 _job=job, 25 _salary=salary) 26 print(info2) 27 28 info3 = ''' 29 ------------info of {0} ----------- 30 name:{0} 31 age:{1} 32 job:{2} 33 salary:{3} 34 '''.format(name,age,job,salary) 35 print(info3) 36
七、初识模块
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持。
接上用户输入,如果想要在用户输入时让密码呈现密文,可以通过getpass模块来实现,如下:
1 import getpass 2 #调用这个模块可使密码呈现密文,但在pycharm中不可用,在其他地方可以使用 3 4 _usename = "irlo" 5 _password = "142857" 6 7 username = input("usename:") 8 password = getpass.getpass("password:") 9 10 if _username = username and _password = password: 11 print("Welcome user {name} login...".format(name=username)) 12 else: 13 print("Invalid username or password") 14 print(name,password)
八、While循环
程序执行到while处,“当”条件为True时,就去执行while内部的代码,“当”条件为False时,就跳过。
例如:
1 count = 0 2 While True: 3 print("循环啊,循环啊",count) 4 count +=1 5 if count ==100: #循环100次之后结束 6 break
猜数字2.0:
1 ge_of_Ji = 26 2 count = 0 3 while count<3: 4 guess_age = int(input("guess age:")) 5 if guess_age == age_of_Ji: 6 print("You are right") 7 break 8 elif guess_age > age_of_Ji: 9 print("thinking smaller") 10 else: 11 print("thinking bigger") 12 count = count+1 13 else: 14 print("you tried too many times,fuck off!")
九、For循环
1 for i in range(1,101): 2 print("loop",i)
1 for i in range(0,10,2) #其中0,10代表范围2代表步长 2 print("loop",i) #打印出结果为(0,2,4,6,8)
猜数字2.1:
1 age_of_Ji = 26 2 3 for i in range(3): #计数器,for i in range(3):相当于计数三次 4 guess_age = int(input("guess age:")) 5 if guess_age == age_of_Ji: 6 print("You are right") 7 break 8 elif guess_age > age_of_Ji: 9 print("thinking smaller") 10 else: 11 print("thinking bigger") 12 else: 13 print("you tried too many times,fuck off!")
十、Break and Continue判断
break是结束本次循环
continue是跳出本次循环,进入下一次循环
1 for i in range(10): 2 if i<5: 3 continue #不往下走了,直接进入下一次loop 4 print("loop:", i )