一、编程语言的分类

  • 编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言,Python是一门动态解释型的强类型定义语言。
  • Python的优缺点
  • Python解释器:CPython、IPython(金融用的多,交互器)、PyPy(推荐,速度快)、JyPython、IronPython

二、Python发展史

三、Python 2 or 3?

四、Python安装

五、Hello World 程序

  • pycharm 开发工具,开发效率高,帮调试

六、变量

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名

  ['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']  全是大写表示常量




python当前季度_python

python当前季度_python当前季度_02

1 name = "JYH"
 2 name2 = name
 3 print("My name is",name)
 4 
 5 name ="PaoChe Ge"
 6 print(name,name2)
 7 
 8 gf_of_oldboy="xxx"
 9 GFOfOldboy="xxx" #Windows 的变量名喜欢这样写
10 
11 PIE = 3.1415926  # 全大写表示常量


View Code


七、字符编码

计算机最底层只认识0,1(通电 or 不通电)---二进制(狼烟表示敌军人数),Python解释在加载.py文件中的代码时,会对内容进行编码(默认ASCII)。

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

八、用户输入

input默认输入的是字符串




python当前季度_python

python当前季度_python当前季度_02

1 name=input('''name:''')
2 age=input("age:")
3 job=input('job:')
4 salary=input('salary:')
5 
6 info='''Name:'''+name+''+ '\nage:'+age+'\njob:'+job+'''\nsalary:'''+salary
7 print(info)


interaction



python当前季度_python

python当前季度_python当前季度_02

1 name=input('''name:''') # raw_input 2.x 与 input 3.x 是一样的 ,input 2.x 是多余的
 2 age=int(input("age:")) # 强制转化为integer(整数)
 3 job=input('job:')
 4 salary=input('salary:')
 5 print(type(age)) # 打印变量类型
 6 age=str(age)
 7 print(type(age))
 8 
 9 info0='''Name:'''+name+''+ '\nage:'+age+'\njob:'+job+'''\nsalary:'''+salary  # 不到迫不得已尽量不用
10 
11 info1='''Name:%s\nage:%s\njob:%s\nsalary:%s'''%(name,age,job,salary) # %s 占位符,相当于shell中的$
12 
13 info2='''Name:{_name}\nage:{_age}\njob:{_job}\nsalary:{_salary}'''.format(_name=name,_age=age,_job=job,_salary=salary)
14 
15 info3='''Name:{0}\nage:{1}\njob:{2}\nsalary:{3}'''.format(name,age,job,salary)
16 print(info0)


interaction2


九、模块初识

(库)1、标准库:不需要安装,可以直接导入。2、第三方库,需要安装(如Django外部框架)。import 模块 首先在当前目录下找,所以不要用与模块相同的名字命名新的.py

  第三方库一般存在site-package里面,安装的一些库也放在里面。标准库在lib里,如re.py(正则),socket.py(用于网络编程),threading.py(用于多线程)...

  可以自己编写模块,导入时会自动在当前目录和环境变量中去找。




python当前季度_python

python当前季度_python当前季度_02

1 import os
 2 
 3 #cmd_res=os.system("dir") # os.system一调用命令就执行,将结果输出到屏幕上,不保存结果
 4 #print("-->",cmd_res)  # 0 表示命令执行成功
 5 
 6 #cmd_res=os.popen("dir")
 7 #print("-->",cmd_res) # 打印的是内存的对象地址
 8 
 9 #cmd_res=os.popen("dir").read() # 命令的结果存到内存的临时的地方,必须通过read方法取出来
10 #print("-->",cmd_res)
11 
12 os.mkdir("new_dir") #在当前目录创建新的文件夹


os_mod


 

十、.pyc是什么?

其实Python和Java/C#一样,也是一门基于虚拟机的语言。

在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。

我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

如果修改了,比较.pyc与源代码的更新时间,一样的话直接载入。

十一、数据类型初识

Python2.x里有长整数和整数之分,Python3.x没有长整数。

float(浮点型),可理解为小数,但不完全等同于小数。

布尔值:真或假,1 或 0

十二、数据运算

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

附录

  • 十六进制,0123456789ABCDEF  二进制到16进制转换http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
  • bytes类型(字节数据类型(二进制))
  • 文本总是Unicode,由str表示。二进制数据则由bytes类型表示(音频,视频)。文本和二进制的转化主要用于传输,通过编码,解码转换。

for:




python当前季度_python

python当前季度_python当前季度_02

1 for i in range(0,10,2):
2     print("loop",i)


for


continue:




python当前季度_python

python当前季度_python当前季度_02

1 while True:
2     s=input("enter:")
3     if len(s) < 3:
4         print("too small")
5         continue  # 跳过本次循环,继续下次循环
6     if s=="quit":
7         break #结束循环
8     print("enough")


continue


guess:




python当前季度_python

python当前季度_python当前季度_02

1 age_of_oldboy=56
2 guess_age=int(input("guess age:"))
3 if guess_age==age_of_oldboy:
4     print("Yes!you got it...")
5 elif guess_age>age_of_oldboy:
6     print("Think smaller...")
7 else:
8     print("Think bigger!")


guess


for_guess:




python当前季度_python

python当前季度_python当前季度_02

1 age_of_oldboy=56
 2 count=0
 3 for i in range(3):
 4     guess_age=int(input("guess age:"))
 5     if guess_age==age_of_oldboy:
 6         print("Yes!you got it...")
 7         break
 8     elif guess_age>age_of_oldboy:
 9         print("Think smaller...")
10     else:
11         print("Think bigger!")
12     count +=1
13 else:  # 与if count == 3:一样
14     print("you tried too many times...fuck off")


for_guess


guess_at_will




python当前季度_python

python当前季度_python当前季度_02

1 age_of_oldboy=56
 2 count=0
 3 while count<3:
 4     guess_age=int(input("guess age:"))
 5     if guess_age==age_of_oldboy:
 6         print("Yes!you got it...")
 7         break
 8     elif guess_age>age_of_oldboy:
 9         print("Think smaller...")
10     else:
11         print("Think bigger!")
12     count +=1
13     if count == 3:
14         continue_confirm=input("Do you want to keep guessing? Press ant key to keep guessing and press N or n to quit:")
15         if continue_confirm !="N" and continue_confirm!="n":
16             count=0


guess_at_will


loop_in_loop




python当前季度_python

python当前季度_python当前季度_02

1 for i in range(10):
2     print("-----",i)
3     for j in range(10):
4         print(j)
5         if j > 5:
6             break #结束当前循环


loop_in_loop


passwd:




python当前季度_python

python当前季度_python当前季度_02

1 import getpass # getpass 密文
2 username=input("username:")
3 password=getpass.getpass("password:")  # getpass模块在pycharm中不好使
4 print(username,password)


passwd



python当前季度_python

python当前季度_python当前季度_02

1 _username='jyh'
2 _password='1234'
3 username=input("username:")
4 password=input("password:")
5 
6 if username==_username and password==_password:
7     print('Welcome user {} login...'.format(_username))
8 else:
9     print('Invalid username or password')


passwd2



python当前季度_python

python当前季度_python当前季度_02

1 import passwd2


passwd_import


sys:




python当前季度_python

python当前季度_python当前季度_02

1 __author__="jyh"
2 
3 import sys
4 # print(sys.path) # 打印环境变量
5 
6 print(sys.argv) #pycharm中打印绝对路径,实际上应该是相对路径
7 print(sys.argv[2])


sys_mod


while:




python当前季度_python

python当前季度_python当前季度_02

1 count=1
2 while True:
3     count=count+1 # 与count +=1 一样
4     print("count:",count)


while



python当前季度_python

python当前季度_python当前季度_02

1 age_of_oldboy=56
 2 count=0
 3 while count<3:
 4     guess_age=int(input("guess age:"))
 5     if guess_age==age_of_oldboy:
 6         print("Yes!you got it...")
 7         break
 8     elif guess_age>age_of_oldboy:
 9         print("Think smaller...")
10     else:
11         print("Think bigger!")
12     count +=1
13 else: # 与if count == 3:一样
14     print("you tried too many times...fuck off")


while2