首页 > 代码库 > python3学习笔记(0)

python3学习笔记(0)

一、编程语言主要从以下几个角度分类:
1、编译型和解释型
2、静态语言和动态语言
3、强类型定义语言和弱类型定义语言

编译型:程序运行前先由负责翻译的程序将代码转换成可执行代码进行执行。例如C/C++、Pascal/Delphi、VB。其优点为运行速度快,对系统要求低,适用于开发操作系统、大型应用程序、数据库系统等。
解释型:程序运行时每直行到一条指令就由解释程序将所执行到的代码转换成可执行代码进行执行,如此反复,直至程序直行完毕。例如Java、JavaScript、VBScript、Perl、Python。适用于网页脚本、服务器脚本及辅助开发接口这样对速度要求不高,但对不同系统平台间的兼容性有一定要求的程序。
静态语言:即静态类型语言,在写程序时要声明所有变量的数据类型,数据类型会在编译期间进行检查。例如C/C++
动态语言:即动态类型语言,在写程序时不用给任何变量指定数据类型,在运行期间才去做数据类型检查。例如Python、Ruby
强类型定义语言:即强制数据类型定义的语言,一旦一个变量被指定了一个数据类型,如果不经过强制转换,那么它永远就是这个数据类型了。
弱类型定义语言:即数据类型可以被忽略的语言,一个变量可以赋不同类型的值。

Python是动态语言、强类型定义语言(类型安全的语言)
VBScript是动态语言、弱类型定义语言(类型不安全的语言)
Java是静态语言、强类型定义语言(类型安全的语言)

二、Python:解释型语言、动态语言、强类型定义语言
优点如下:
1、优雅、明确、简单易懂
2、开发效率高,有强大的第三方库
3、高级语言,无需考虑内存一类的底层细节
4、可移植性强,可以兼容多平台
5、可扩展性强,可以在python中使用其他程序,例如C/C++
6、可嵌入性强,可以将python脚本嵌入到其他程序,例如C/C++
缺点如下:
1、运行速度比编译型语言慢
2、源码以明文形式存放,不能加密
3、线程不能利用多CPU

python解释器有:
1、CPython,用C语言开发的,使用最广泛的
2、IPython,基于CPython开发的
3、PyPy,另一种解释器,可以提高代码的执行速度。
4、JPython,用Java开发的
5、IronPython,用C#开发的

Linux中,第一行用“#!/usr/bin/env python”,找python环境变量
系统自带的环境变量在/usr/bin/,后装的环境变量在/usr/local/bin/。

三、变量:
name = “Alex Li”
name2 = name
name = “PaoChe Ge”
print(name,name2)
以上代码中,name2被赋值的是name所指向的内存地址,因此name的赋值发生改变,name2不会发生改变。

四、变量定义规则:
1、变量名只能是字母、下划线、数字的组合
2、变量名第一个字符不能是数字
3、不能用关键字作为变量名
4、3.X中可以用中文作为变量名,但不建议这样做。

五、字符编码:
python3.X默认使用UTF-8。
python2.X默认使用ASCII码,需要使用 # -*- coding:utf-8 -*- 来声明使用的字符集后,方可使用中文。

六、注释方法:
1、单行注释:#
2、多行注释:‘‘‘‘‘‘或者"""""",常用单引号
另,单引号或双引号还可以打印多行,例如:
msg = ‘‘‘
name = “Alex Li”
name2 = name
name = “PaoChe Ge”
‘‘‘
print (msg)

七、用户输入:
1、intput输入的值,默认为字符串类型。
input()
例1:
name = input("what`s your name?")

八、格式化输出:
name = qj
age = 30
job = it
salary = 6000

例1:字符串拼接方法,不建议,因为会在内存中开辟多块内存空间。
info = ‘‘‘
---------- info of ‘‘‘ + name + ‘‘‘ ---------
Name:‘‘‘ + name + ‘‘‘
Age:‘‘‘ + age + ‘‘‘
job:‘‘‘ + job + ‘‘‘
Salary:‘‘‘ + salary

例2:使用%s、%d、%f占位
info = ‘‘‘
---------- info of %s ---------
Name:%s
Age:%d
job:%s
Salary:%d
‘‘‘ % (name,name,age,job,salary)
print(info)
%s:代表字符串
%d:代表整数(需强制相关变量为整数类型)
%f:代表浮点即小数(需强制相关变量为浮点类型)
打印变量类型:print(type(变量名))
强制转换变量类型为整形:age = int(input(age))
强制转换变量类型为字符串:age = str(input(age))

例3:使用{}占位(官方建议使用此方式)
info = ‘‘‘
---------- info of {_name} ---------
Name:{_name}
Age:{_age}
job:{_job}
Salary:{_salary}
‘‘‘ .format(_name = name,_age = age,_job = job,_salary = salary)
print(info)

例4:使用{}占位,花括号中不指定参数
info = ‘‘‘
---------- info of {0} ---------
Name:{0}
Age:{1}
job:{2}
Salary:{3}
‘‘‘ .format(name,age,job,salary)
print(info)

九、初识模块
1、使用模块前需先导入
例:
import XXXX
2、实现输入为密文模块 getpass()
例:
import getpass
password = getpass.getpass("password")

十、判断
1、python中if语句的子语句必须要缩进,因为python中if语句没有开始和结束标志符
2、if主语句必须以冒号结尾
3、所有的顶级代码必须顶格写
例1:
import getpass
username = input("username:")
password = getpass.getpass("password:")
_username = qj
_password = 123
if username == _username and password == _password:
print("welcome user {name} login....".format(name=name))
else:
print("invalid username or password!")
例2:猜年龄游戏
age_of_oldboy = 56
guess_age = int(input("guess age:"))
if age_of_oldboy == guess_age:
print("yes,you got it!")
elif age_of_oldboy < guess_age:
print("think smaller....")
else:
print("think bigger....")

python3学习笔记(0)