老男孩Python 课堂笔记

1、Python 的发展

Python 是 吉多·范罗苏姆(Guido van Rossum)。在1989年的圣诞节期间,在阿姆斯特丹为了打发时间而开发的

   目前Python主要应用领域:

  • 云计算
  • WEB开发:
  • 科学运算、人工智能
  • 系统运维
  • 金融
  • 图形GUI

Python 是一种解释型语言

优点:

  1. Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  2. 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
  3. 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
  4. 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
  5. 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

缺点:

  1. 速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些。
  2. 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的。
  3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。

2、Python 的版本分类    

CPython:

当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

IPython:

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

PyPy:

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

Jython:

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython:

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

3、Python 3 的编码为 unicode

4、变量     

      变量定义的规则:

  1. 变量名只能是 字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 以下关键字不能声明为变量名
  4. [‘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‘

5、用户输入

      Username = input("请输入用户名:")

         输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,代码样例如下:

       #!/usr/bin/env python

  # -*- coding: utf-8 -*-

  import getpass

  # 将用户输入的内容赋值给 name 变量

 Password = getpass.getpass("请输入密码:")

 # 打印输入的内容

 print(Password)

时间: 2024-12-25 01:13:00

老男孩Python 课堂笔记的相关文章

老男孩Python 课堂笔记_Day2

第二天的主要内容如下: 1.认识模块 1.1.什么是模块? Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 另外Python 模块又称之为库(库又分为标准库和第三方库,Python 自带的为标准库,需要安装的为第三方库) 模块的使用: 模块定义好

兄弟连学python 课堂笔记 ---- Redis类型

Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. String(子串类型) set 命令:设置一个键和值,键存在则只覆盖,返回ok > set 键  值    例如: >set name zhangsan get 命令:获取一个键的值,返回值 > get 键        例如:>get name setnx命令:设置一个不存在的键和值(

兄弟连学python 课堂笔记 ---- Redis基本操作

基本操作 Redis 是 Key-Value 内存数据库,操作是通过各种指令进行的,比如 `SET` 指令可以设置键值对,而 `GET` 指令则获取某一个键的值.不同的数据结构,Redis 有不同的指令,这样指令一共有几十个,下面主要介绍一些常用的指令. Redis 对 Key 也就是键有各种各样的指令,主要有下面的指令(下面的指令中小写字符串都是参数,可以自定义):>keys *  //返回键(key) >keys list*   //返回名以list开头的所有键(key)>exist

python 课堂笔记-购物车

# Author:leon production_list = [ ('iphone',5800), ('mac pro', 9800), ('bike', 800), ('watch', 10600), ('coffee', 31), ('alex python', 120) ] shopping_list=[] #创建一个空列表,用于存放买到的商品. salary = input("input your salary:") #输入工资 if salary.isdigit(): #判

老男孩python学习笔记一

一.编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号. Unicode(统一码.万国码.单一码)是一种在计算机上使用的字符编码.Unic

python 课堂笔记-while

#Author:zyl age_of_oldboy = 56 count = 0 while count < 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: p

python 课堂笔记-for语句

for i in range(10): print("----------",i) for j in range(10): print("world",j) if j> 5: break

2017年12月12日 兄弟连学Python 课堂笔记 ---- mysql触发器

MySQL的触发器 格式:1.触发器的定义: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 说明: # trigger_name:触发器名称 # trigger_time:触发时间,可取值:BEFORE或AFTER # trigger_event:触发事件,可取值:INSERT.UPDATE或DELETE. # tb1_name:指定在哪个表上 # trig

兄弟连学Python 课堂笔记 ---- mysql数据操作

添加数据 格式: insert into 表名[(字段列表)] values(值列表...);--标准添加(指定所有字段,给定所有的值)  insert into stu(id,name,age,sex,classid) values(1,'zhangsan',20,'m','lamp138');Query OK, 1 row affected (0.13 sec) --指定部分字段添加值 insert into stu(name,classid) value('lisi','lamp138')