ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Lesson 1-2

2019-02-08 17:48:10  阅读:238  来源: 互联网

标签:函数 模块 import world Lesson x00 Hello


1.5 模块

  模块可视为扩展,通过将其导入可以扩展python的功能。python中自带有一组模块,也称为“标准库”。

1.5.1 模块的导入:import + 模块名称

• 使用关键字import导入模块

• import之后跟模块名称,可一次导入多个模块,多个模块名称之间使用逗号隔开

• 使用“模块名称.函数名称”的方式来调用该模块中的函数

1 >>> import random,math
2 >>> print(random.randint(1,10))
3 3
4 >>> print(math.floor(3.7))
5 3
6 >>> 

1.5.2 模块的导入:from 模块名称 import *

• 使用关键字from,import和 * 号

• 直接使用“函数名称”的方式来调用该模块中的函数

• 使用该方式虽然简化了调用方式,但是代码可读性变差,且必须确认没有同名函数

1 >>> from math import *
2 >>> ceil(33.3)
3 34
4 >>> sqrt(25)
5 5.0
6 >>> 

1.5.3 模块的导入:from 模块名称 import 函数名称

• 使用1.5.2导入方式模块中的所有函数都可以调用,而该方式区别在于指定导入模块中的函数名称,只可以调用该函数,模块中的其它函数不可调用,强行调用则会出现‘“函数未定义”的报错

• 该方式适用于明确只使用该模块中的指定函数

1 >>> from math import ceil
2 >>> ceil(33.3)
3 34
4 >>> sqrt(25)
5 Traceback (most recent call last):
6   File "<stdin>", line 1, in <module>
7 NameError: name 'sqrt' is not defined
8 >>> 

1.5.4 模块的导入:使用 as 关键字

  模块导入时可以通过使用 as 关键字来改变相应的引用对象名字,适用于模块名称或者函数名称过长过复杂时的简化。

• 例如使用 import random as r ,则在后续的调用中可用“r”代替“random” 。

1 >>> import random as r
2 >>> r.randint(1,10)
3 1
4 >>> 

• 例如使用 from random import randint as r ,则在后续的调用中可用“r”代替“randint” 。

1 >>> from random import randint as r
2 >>> r(1,10)
3 5
4 >>> 

 

1.6 注释

--- 在python中,使用井号(#)来进行注释,# 到行尾的内容将被当成注释

--- 特殊的例子是脚本的第一行字符序列:#!+ python的绝对路径 + python可执行程序名 ,例如:#!/usr/bin/python3.7  python3

--- 可使用一对单三引号(‘’‘)或者一对双三引号(“”“)进行多行(段落)注释

--- 注释必须言而有物,无用而重复的注释还不如没有

 

1.7 简单的字符串

1.7.1 长字符串

--- 常规字符串也可以跨越多行,只要在行尾加上反斜杠,python自动进行拼接

1 >>> "Hello \
2 ... world!"
3 'Hello world!'
4 >>> print("Hello \
5 ... world!")
6 Hello world!
7 >>> 

--- 使用三单引号或三双引号表示很长的多行字符串,python不会自动进行拼接

1 >>> print("""Hello 
2 ... world
3 ... !""")
4 Hello 
5 world
6 !
7 >>> 

1.7.2 原始字符串

--- 原始字符串使用前缀 r 表示,r 后的字符串可使用单引号、双引号、三引号括起来,但该字符串不能以单个反斜杠结尾

 1 >>> print("Hello \nworld!")
 2 Hello 
 3 world!
 4 >>> print(r"Hello \nworld!")
 5 Hello \nworld!
 6 >>> print(r"Hello \nworld!\")
 7   File "<stdin>", line 1
 8     print(r"Hello \nworld!\")
 9                             ^
10 SyntaxError: EOL while scanning string literal
11 >>> 

 1.8 简单的字符编码

--- 内存和磁盘中所有对象都是以二进制表示,python提供不可变bytes和可变bytearray两种类型来对接,bytes类型可直接创建bytes对象。

1 >>> "Hello world!"
2 'Hello world!'
3 >>> b"Hello world!"
4 b'Hello world!'
5 >>> type('Hello world!')
6 <class 'str'>
7 >>> type(b'Hello world!')
8 <class 'bytes'>
9 >>> 

--- 将文本到内存和磁盘文件中,需要进行编码,编码使用encode函数;将文本从内存和磁盘文件中出,需要进行解码,解码使用decode函数。

--- 使用ASCII、UTF-8、UTF-32编码将字符串转换为bytes

1 >>> "Hello world!".encode("ASCII")
2 b'Hello world!'
3 >>> "Hello world!".encode("UTF-8")
4 b'Hello world!'
5 >>> "Hello world!".encode("UTF-32")
6 b'\xff\xfe\x00\x00H\x00\x00\x00e\x00\x00\x00l\x00\x00\x00l\x00\x00\x00o\x00\x00\x00 \x00\x00\x00w\x00\x00\x00o\x00\x00\x00r\x00\x00\x00l\x00\x00\x00d\x00\x00\x00!\x00\x00\x00'
7 >>> 

--- 编码长度

1 >>> len("Hello world!".encode("ASCII"))
2 12
3 >>> len("Hello world!".encode("UTF-8"))
4 12
5 >>> len("Hello world!".encode("UTF-32"))
6 52
7 >>> 

--- 最好使用UTF-8编码,UTF-8也是默认使用的编码。

 

标签:函数,模块,import,world,Lesson,x00,Hello
来源: https://www.cnblogs.com/jlufcs/p/10356118.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有