老男孩Python 课堂笔记_Day2

第二天的主要内容如下:

1、认识模块

1.1、什么是模块?

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。

模块能定义函数,类和变量,模块里也能包含可执行的代码。

另外Python 模块又称之为库(库又分为标准库和第三方库,Python 自带的为标准库,需要安装的为第三方库)

模块的使用:

模块定义好后,我们可以使用 import 语句来引入模块,语法如下:

import module1[, module2[,... moduleN]样例:    import sys

1.2、编写和使用第三方库:

直接引用编写模块的路径或者将写好的模块文件移动到标准库所在位置,注意模块名称不能和标准库或其他第三方库重名。

2、什么是pyc文件?

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

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

3、数据类型

3.1、数字:

int(整型)

long(长整型)

float(浮点型)

complex(复数)

3.2、布尔值:

真或假

0或1

3.3、字符串

“Hello World”

PS:字符串是 %s;整数%d;浮点数%f

字符串常用功能:

移除空白

分割

长度

索引

切片

3.4、列表:

创建列表:

name_list = [‘alex‘‘seven‘‘eric‘]

      或

      name_list = list([‘alex‘‘seven‘‘eric‘])

基本操作:

索引

切片

追加

删除

长度

切片

循环

包含

3.5、元组(不可变的列表)

创建元组:

ages = (1122334455)

ages = tuple((1122334455))

3.6、字典(无序)

创建字典:

person = {"name""mr.wu"‘age‘18}

person = dict({"name""mr.wu"‘age‘18})

常用操作:

索引

新增

删除

键、值、键值对

循环

长度

4、数据运算:

算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

5、Bytes:

Bytes 对象是由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象。

Bytes 对象只负责以二进制字节序列的形式记录所需记录的对象,至于该对象到底表示什么(比如到底是什么字符)则由相应的编码格式解码所决定。我们可以通过调用 bytes() 类(没错,它是类,不是函数)生成 bytes 实例,其值形式为 b‘xxxxx‘,其中 ‘xxxxx‘ 为一至多个转义的十六进制字符串(单个 x 的形式为:\xHH,其中 \x 为小写的十六进制转义字符,HH 为二位十六进制数)组成的序列,每个十六进制数代表一个字节(八位二进制数,取值范围 0-255),对于同一个字符串如果采用不同的编码方式生成 bytes 对象,就会形成不同的值:

比如上例中的 a 字符串对象,其十进制 unicode 值为 24464,分别使用 ‘utf-8‘ 和 ‘gb2312‘ 两种编码格式将其转换成 bytes 对象 b 和 c ,结果 b 和 c 的值是完全不同的,由于基于的编码格式不一致, b c 长度甚至都不相同,前者有 3 个字节长度,后者有 2 个字节长度:

另外,对于 ASCII 字符串,可以直接使用 b‘xxxx‘ 赋值创建 bytes 实例,但对于非 ASCII 编码的字符则不能通过这种方式创建 bytes 实例:

由于 bytes 是序列,因此我们可以通过索引或切片访问它的元素:

可以发现如果以单个索引的形式访问元素,其会直接返回单个字节的十进制整数,而以序列片段的形式访问时,则返回相应的十六进制字符序列。

对于 bytes 实例,如果需要还原成相应的字符串,则需要借助内置的解码函数 decode(),借助相应的编码格式解码为正常字符串对象,如果采用错误的编码格式解码,则有可能发生错误:

  
时间: 2024-11-08 22:20:22

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

老男孩Python 课堂笔记

1.Python 的发展 Python 是 吉多·范罗苏姆(Guido van Rossum).在1989年的圣诞节期间,在阿姆斯特丹为了打发时间而开发的    目前Python主要应用领域: 云计算 WEB开发: 科学运算.人工智能 系统运维 金融 图形GUI 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')