一 、 python是一门动态解释性的强类型定义语言
编译和解释的区别是什么?
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.
这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)
动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
二 使用Pycharm
1 创建项目:
File>>New project 在location最后 \ 后的输入为项目名称
2 创建目录:
右键点击刚创建的项目>>New>>Directory 输入目录名称,如day1
3 创建Python文件:
右键刚创建的目录>>New>>Python File
4 增加工具栏:
view>>Toolbar
5 为新创建的Python文件增加默认内容
点击工具栏的Setting按钮>>Editor>>File and Code Templates>>Python Script
6 更改Python版本
Setting按钮>>Project:×××>>Project Interpreter
三 基础知识
1 变量
1 name = "Alex Li" 2 name2 = name #将值并非地址付给name2 3 print(name,name2) 4 name = "Jack" 5 print("What is the value of name2 now?")
变量名:字母、数字或下划线的任意组合,且不能数字开头,不能为关键字。
2 常量
同变量为了区分所以要大写,如PIE=3.1415926
3 注释
单行:#
多行:''' '''或""" """
4 格式化输出
1 name = input("name:") 2 age = int(input("age:") ) #integer 3 print(type(age) , type( str(age) )) 4 job = input("job:") 5 salary = input("salary:") 6 7 info = ''' 8 -------- info of %s ----- 9 Name:%s 10 Age:%d 11 Job:%s 12 Salary:%s 13 ''' % (name,name,age,job,salary) 14 print(info) #%s代表字符串,%d代表数字,%f浮点数 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 27 print(info2) 28 29 info3 = ''' 30 -------- info of {0} ----- 31 Name:{0} 32 Age:{1} 33 Job:{2} 34 Salary:{3} 35 '''.format(name,age,job,salary) 36 print(info3)
5 输入为密文
1 import getpass #导入getpass模块 2 username=input("username") 3 password=getpass.getpass("password:") #注意:getpass模块在pycharm中不好用
6 elif与其他语言写法不一样
7 while与else可配套使用
1 #Author:Yi 2 age=25 3 count=0 4 while count<3: 5 guess_age=int(input("guess age:")) 6 if guess_age==age: 7 print("yes,you got it!") 8 break 9 elif guess_age<age: 10 print("think smaller!") 11 else: 12 print("think bigger!") 13 count+=1 14 else: # 与while配套使用 15 print("you have tried too many times!")
8 for与else可配套使用
age_of_oldboy = 56 for i in range(3): guess_age = int(input("guess age:") ) if guess_age == age_of_oldboy : print("yes, you got it. ") break elif guess_age > age_of_oldboy: print("think smaller...") else: print("think bigger!") else: #与for配套使用 print("you have tried too many times..fuck off")