国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

挑戰(zhàn)30天學(xué)完P(guān)ython:Day12 模塊

這篇具有很好參考價(jià)值的文章主要介紹了挑戰(zhàn)30天學(xué)完P(guān)ython:Day12 模塊。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?? Day 12

?? 本系列為Python基礎(chǔ)學(xué)習(xí),原稿來源于 30-Days-Of-Python 英文項(xiàng)目,大奇主要是對(duì)其本地化翻譯、逐條驗(yàn)證和補(bǔ)充,想通過30天完成正兒八經(jīng)的系統(tǒng)化實(shí)踐。此系列適合零基礎(chǔ)同學(xué),或僅了解Python一點(diǎn)知識(shí),但又沒有系統(tǒng)學(xué)習(xí)的使用者??傊绻阆胩嵘约旱腜ython技能,歡迎加入《挑戰(zhàn)30天學(xué)完P(guān)ython》

模塊Modules

什么是Module

模塊是在應(yīng)用程序中一個(gè)包含一組代碼或一組函數(shù)的文件。模塊可以是包含單個(gè)變量、函數(shù)或大型代碼庫的文件。

創(chuàng)建Module

要?jiǎng)?chuàng)建一個(gè)module我們?cè)趐ython腳本中寫下我們的代碼,并將它保存為 .py 的文件?,F(xiàn)在讓我們嘗試在項(xiàng)目文件夾中創(chuàng)建一個(gè)名為mymodule.py的文件。讓我們?cè)谶@個(gè)文件中編寫一些代碼。

這份文件你也可以從項(xiàng)目源代碼目錄12_Day_Modules獲取

# mymodule.py
def generate_full_name(firstname, lastname):
    space = ' '
    fullname = firstname + space + lastname
    return fullname


def sum_two_nums(num1, num2):
    return num1 + num2


gravity = 9.81
person = {
    "name": "Qi",
    "age": 20,
    "country": "China",
    "city": 'ShangHai'
}

在你自己的項(xiàng)目中創(chuàng)建一個(gè) main.py 文件,然后導(dǎo)入mymodule.py模塊文件。

導(dǎo)入Module

要導(dǎo)入文件,我們只需使用 _import_ 關(guān)鍵字加文件名即可。

# main.py
import mymodule
print(mymodule.generate_full_name('Mega', 'Qi')) # Mega Qi

從Module中導(dǎo)入函數(shù)

在一個(gè)文件中興許包含很多的函數(shù)方法,我們可以通過不同的方式進(jìn)行導(dǎo)入。

# main.py
from mymodule import generate_full_name, sum_two_nums, person, gravity
print(generate_full_name('Mega', 'Qi'))
print(sum_two_nums(1, 9))
mass = 100
weight = mass * gravity
print(weight)
print(person['name'])

從模塊導(dǎo)入函數(shù)并重命名

在模塊的導(dǎo)入的同時(shí),我們也可以進(jìn)行別名設(shè)置。

# main.py file
from mymodule import generate_full_name as fullname, sum_two_nums as total, person as p, gravity as g

print(fullname('Mega', 'Qi'))
print(total(1, 9))
mass = 100
weight = mass * g
print(weight)
print(p)
print(p['name'])

導(dǎo)入內(nèi)置模塊

與其他編程語言一樣可以導(dǎo)入內(nèi)置模塊,通過使用關(guān)鍵字 import 導(dǎo)入文件/函數(shù)?,F(xiàn)在讓我們導(dǎo)入一些常用的模塊。這些內(nèi)置模塊如:math, datetime, os,sys, random, statistics, collections, json, re

os 模塊

使用 python 中 os 模塊可以自動(dòng)執(zhí)行許多系統(tǒng)操作。Python中的 OS 模塊提供了諸如:創(chuàng)建、更改當(dāng)前工作目錄、刪除目錄(文件夾)、獲取其內(nèi)容、更改和標(biāo)識(shí)當(dāng)前目錄等函數(shù)。

# 導(dǎo)入os模塊
import os
# 創(chuàng)建文件夾
os.mkdir('directory_name')
# 切換到當(dāng)前剛才創(chuàng)建的directory_name文件夾
os.chdir('directory_name')
# 獲取當(dāng)前的工作路徑目錄
os.getcwd()
# 切換到上級(jí)目錄
os.chdir('..')
# 刪除文件夾
os.rmdir('directory_name')

sys 模塊

內(nèi)置模塊sys提供了一些python運(yùn)行時(shí)環(huán)境操作的部分方法和變量。功能 sys.argv 獲取傳遞給Python腳本命令行參數(shù)列表。列表索引 0 始終是文件的名,后邊從1開始的是真正的命令行參數(shù)。

例子代碼 script.py 文件:

import sys
# print(sys.argv[0], argv[1],sys.argv[2])  
# 命令行執(zhí)行將打印: 文件名 參數(shù)1 參數(shù)2
print('Welcome {}. Enjoy  {} challenge!'.format(sys.argv[1], sys.argv[2]))

現(xiàn)在讓我們來看看,在命令行中執(zhí)行寫的這個(gè)腳本將如何:

python script.py Qi 30DaysOfPython

執(zhí)行結(jié)果:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-sIXj6IFO-1682519934550)(…/images/day1201_sys_args.png)]

一些有用的sys命令:

import sys
# 退出
sys.exit()

# python可以處理或存儲(chǔ)為變量的最大值
sys.maxsize

# 獲取系統(tǒng)配置環(huán)境變量
sys.path

# 獲取當(dāng)前python版本
sys.version

上邊 maxsize 大小取決于系統(tǒng):

  • 32位:該值將為2^31-1,即2147483647
  • 64位:該值將為2^63-1,即9223372036854775807

statistics 模塊

統(tǒng)計(jì)模塊提供數(shù)值數(shù)據(jù)的數(shù)學(xué)統(tǒng)計(jì)功能。本模塊中定義的常用統(tǒng)計(jì)函數(shù): mean, median, mode, stdev 等。

from statistics import * # 導(dǎo)入所有 statistics modules
ages = [20, 20, 4, 24, 25, 22, 26, 20, 23, 22, 26]
print(mean(ages))       # 算術(shù)平均值 21.09090909090909
print(median(ages))     # 方法返回?cái)?shù)值數(shù)據(jù)的中值 22
print(mode(ages))       # 法計(jì)算給定數(shù)值或名義數(shù)據(jù)集的眾數(shù) 20
print(stdev(ages))      # 計(jì)算標(biāo)準(zhǔn)差 6.106628291529549

math 模塊

此模塊包含許多數(shù)學(xué)運(yùn)算和常量。

import math
print(math.pi)           # 3.141592653589793, 圓周率(Pi)常量
print(math.sqrt(2))      # 1.4142135623730951, 平方根
print(math.pow(2, 3))    # 8.0, 指數(shù)函數(shù)
print(math.floor(9.81))  # 9, 四舍五入取底
print(math.ceil(9.81))   # 10, 四舍五入取高
print(math.log10(100))   # 2.0, 以10為底的對(duì)數(shù)

現(xiàn)在,我們已經(jīng)導(dǎo)入了 math 模塊,它包含了許多函數(shù)能幫助我們進(jìn)行數(shù)學(xué)計(jì)算。那么如果要想查看模塊都有那些函數(shù),我們可以使用 help(math)dir(math) 來顯示模塊中可用的函數(shù)。如果我們只想從模塊中導(dǎo)入一個(gè)特定的函數(shù),我們按如下方式導(dǎo)入它:

from math import pi
print(pi)

同時(shí)也可以導(dǎo)入多個(gè)函數(shù)

from math import pi, sqrt, pow, floor, ceil, log10
print(pi)
print(sqrt(2))
print(pow(2, 3))
print(floor(9.81))
print(ceil(9.81))
print(log10(100))

但如果我們想導(dǎo)入數(shù)學(xué)模塊中的所有函數(shù),我們可以使用 *。

from math import *
print(pi)
print(sqrt(2))
print(pow(2, 3))
print(floor(9.81))
print(ceil(9.81))
print(log10(100))

同上導(dǎo)入時(shí),還可以為函數(shù)設(shè)置別名。

from math import pi as PI
print(PI)

字符串模塊

字符串模塊在很多方面都是非常有用的模塊。下面的例子展示了字符串模塊的一些用法。

import string

# ascii字母
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

# 展示所有數(shù)字
print(string.digits)        # 0123456789

# 展示標(biāo)點(diǎn)標(biāo)點(diǎn)符號(hào)
print(string.punctuation)   # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

Random 模塊

到目前為止,您已經(jīng)熟悉了導(dǎo)入模塊用法。讓我們?cè)趯?dǎo)入另外一個(gè)模塊來最后熟悉它。 模塊 random 它給返回一個(gè)0到0.9999之間的隨機(jī)數(shù)。當(dāng)然它有很多模塊,但在本篇中只用到 randomrandint 。

from random import random, randint
print(random())   # 它返回一個(gè)介于0到0.9999之間的值
print(randint(5, 20)) # 它返回一個(gè)[5,20]的隨機(jī)整數(shù) 

?? 你已經(jīng)堅(jiān)持學(xué)習(xí)更高級(jí)的內(nèi)容了。繼續(xù)前進(jìn)!你剛剛完成了第12天的挑戰(zhàn),你在通往偉大的道路上前進(jìn)了12步?,F(xiàn)在按例來做一些練習(xí)吧,來消化和鞏固下學(xué)習(xí)成功。

?? 第12天練習(xí)

練習(xí)1級(jí)

  1. 編寫一個(gè) random_user_id 函數(shù),它的功能是隨機(jī)生成6位字符(包括字母和數(shù)字)。

      print(random_user_id());
      '1ee33d'
    
  2. 修改上邊方法。聲明一個(gè)名為 user_id_gen_by_user 的函數(shù)。它不設(shè)置參數(shù),但它使用input() 接受兩個(gè)輸入。其中一個(gè)輸入是字符的數(shù)量,第二個(gè)輸入是應(yīng)該生成的id的數(shù)量。

      print(user_id_gen_by_user()) # 用戶輸入: 5 5
      # 輸出舉例(因?yàn)槭请S機(jī)每次均不一樣,所以以下值僅為舉例):
      #kcsy2
      #SMFYb
      #bWmeq
      #ZXOYh
      #2Rgxf
      
      print(user_id_gen_by_user()) # 16 5
      # 實(shí)際以你練習(xí)和輸入的兩個(gè)數(shù)為準(zhǔn)
      #1GCSgPLMaBAVQZ26
      #YD7eFwNQKNs7qXaT
      #ycArC5yrRupyG00S
      #UbGxOFI7UXSWAyKN
      #dIV0SSUTgAdKwStr
    
  3. 編寫一個(gè)名為 rgb_color_gen 函數(shù)。它將生成rgb顏色(3個(gè)值,每個(gè)值從0到255)。

    print(rgb_color_gen())
    # rgb(125,244,255) - 輸出格式
    

練習(xí)2級(jí)

  1. 編寫一個(gè)函數(shù) list_of_hexa_colors,它返回?cái)?shù)組中任意數(shù)量的十六進(jìn)制顏色(在#之后寫入的六個(gè)十六進(jìn)制數(shù))。十六進(jìn)制數(shù)字系統(tǒng)由16個(gè)符號(hào)組成,0-9和字母表的前6個(gè)字母a-f。
  2. 編寫一個(gè)函數(shù) list_of_rgb_colors,它返回任意數(shù)量的RGB顏色數(shù)組。
  3. 編寫一個(gè)函數(shù) generate_colors,它可以生成任意數(shù)量的hexa或rgb顏色。
    generate_colors('hexa', 3) # ['#b0c6e9', '#c06ee9', '#871ff7'] 
    generate_colors('hexa', 1) # ['#3b2366']
    generate_colors('rgb', 3)  # ['rgb(85,243,216)', 'rgb(22,39,233)', 'rgb(235,151,123)']
    generate_colors('rgb', 1)  # ['rgb(221,103,205)']
    

練習(xí)3級(jí)

  1. 調(diào)用你的編寫的函數(shù) shuffle_list,它接受一個(gè)列表作為參數(shù),并返回一個(gè)打亂的列表。
  2. 編寫一個(gè)函數(shù),返回由0-9范圍內(nèi)的7個(gè)隨機(jī)數(shù)組成的數(shù)組。所有的數(shù)字必須是唯一的。

?? CONGRATULATIONS ! ??文章來源地址http://www.zghlxwxcb.cn/news/detail-426608.html

到了這里,關(guān)于挑戰(zhàn)30天學(xué)完P(guān)ython:Day12 模塊的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 一天學(xué)完C++的標(biāo)準(zhǔn)模板庫STL

    一天學(xué)完C++的標(biāo)準(zhǔn)模板庫STL

    提到字符串,我們會(huì)想起C語言中的 char * ,這是一個(gè)指針。而在STL中 string 也是用來聲明字符串的,但是 string 是一個(gè)類,需要導(dǎo)入庫 #includestring 。 String 封裝了 char * ,管理這個(gè)字符串,是一個(gè) char* 型的 容器 。 string 本質(zhì)上是一個(gè)動(dòng)態(tài)的 char 數(shù)組。 使用String字符串的第一步

    2023年04月17日
    瀏覽(17)
  • STM32學(xué)習(xí)——半天學(xué)完正點(diǎn)原子入門篇例程,STM32:學(xué)會(huì)了嗎?我:學(xué)廢了?

    STM32學(xué)習(xí)——半天學(xué)完正點(diǎn)原子入門篇例程,STM32:學(xué)會(huì)了嗎?我:學(xué)廢了?

    本文代碼均來正點(diǎn)原子標(biāo)準(zhǔn)例程 聲明:本文不是教學(xué)文章,可能也不適合初學(xué)者閱讀 不知為什么,最近總蹦出有很多想法(可能是工作太閑了)一會(huì)想學(xué)這,一會(huì)想學(xué)那,這不,突然想復(fù)習(xí)一下 STM32 了。 我好久以前就學(xué)過正點(diǎn)原子的課程,還買過一些開發(fā)板,但現(xiàn)在手上只

    2024年02月04日
    瀏覽(16)
  • 面試題30天打卡-day12

    Redis 中的 String 是使用簡(jiǎn)單動(dòng)態(tài)字符串(SDS)實(shí)現(xiàn)的。SDS 是一種可變長(zhǎng)度的字符串實(shí)現(xiàn),它可以動(dòng)態(tài)地調(diào)整自己的大小,而不像 C 語言中的字符串一樣需要預(yù)先分配固定大小的內(nèi)存空間。 SDS 在 Redis 中的優(yōu)點(diǎn)是: 空間預(yù)分配:SDS 內(nèi)部的空間預(yù)分配策略避免了多次重分配的操

    2023年04月26日
    瀏覽(16)
  • day12-內(nèi)置模塊和開發(fā)規(guī)范

    day12-內(nèi)置模塊和開發(fā)規(guī)范

    json模塊,是python內(nèi)部的一個(gè)模塊,可以將python的數(shù)據(jù)格式 轉(zhuǎn)換為json格式的數(shù)據(jù),也可以將json格式的數(shù)據(jù)轉(zhuǎn)換為python的數(shù)據(jù)格式。 json格式,是一個(gè)數(shù)據(jù)格式(本質(zhì)上就是個(gè)字符串,常用語網(wǎng)絡(luò)數(shù)據(jù)傳輸) json格式的作用? Python數(shù)據(jù)類型與json格式的相互轉(zhuǎn)換: 數(shù)據(jù)類型 - j

    2024年04月08日
    瀏覽(15)
  • 30 Python的matplotlib模塊

    30 Python的matplotlib模塊

    概述 ????????在上一節(jié),我們介紹了Python的pandas模塊,包括:Series、DataFrame、數(shù)據(jù)讀取和寫入等內(nèi)容。在這一節(jié),我們將介紹Python的matplotlib模塊。matplotlib模塊是一個(gè)Python的2D繪圖庫,可以實(shí)現(xiàn)各種類型的圖形繪制,包括:線圖、柱狀圖、餅圖、散點(diǎn)圖等。matplotlib支持各種

    2024年02月08日
    瀏覽(40)
  • 算法練習(xí)Day30 (Leetcode/Python-動(dòng)態(tài)規(guī)劃)

    算法練習(xí)Day30 (Leetcode/Python-動(dòng)態(tài)規(guī)劃)

    62. Unique Paths There is a robot on an? m x n ?grid. The robot is initially located at the? top-left corner ?(i.e.,? grid[0][0] ). The robot tries to move to the? bottom-right corner ?(i.e.,? grid[m - 1][n - 1] ). The robot can only move either down or right at any point in time. Given the two integers? m ?and? n , return? the number of possible

    2024年01月20日
    瀏覽(27)
  • 100+Python挑戰(zhàn)性編程練習(xí)系列 -- day 2

    Question 4 編寫一個(gè)程序,從控制臺(tái)接收一個(gè)逗號(hào)分隔的數(shù)字序列,并生成一個(gè)列表和一個(gè)包含每個(gè)數(shù)字的元組。假設(shè)向程序提供以下輸入:34,67,55,33,12,98 然后,輸出應(yīng)為:[‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’] (‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’) Question 5 定義

    2024年02月02日
    瀏覽(19)
  • 100+Python挑戰(zhàn)性編程練習(xí)系列 -- day 23

    Question 92 根據(jù)參加者在大學(xué)運(yùn)動(dòng)會(huì)的成績(jī)表,你必須找出亞軍的分?jǐn)?shù)。你會(huì)得到分?jǐn)?shù)。將它們存儲(chǔ)在列表中并查找亞軍的分?jǐn)?shù)。 如果將以下字符串作為程序的輸入: 5 2 3 6 6 5 然后,程序的輸出應(yīng)該是: 5 方法1: 方法2: Question 93 給定字符串S和寬度W。你的任務(wù)是將字符串包

    2024年02月07日
    瀏覽(19)
  • 100+Python挑戰(zhàn)性編程練習(xí)系列 -- day 11

    Question 38 對(duì)于給定的元組(1,2,3,4,5,6,7,8,9,10),編寫一個(gè)程序,在一行中打印前半部分值,在一行中打印后半部分值。 方法1: 方法2: 方法3: Question 39 編寫一個(gè)程序來生成并打印另一個(gè)元組,其值是給定元組中的偶數(shù)(1,2,3,4,5,6,7,8,9,10)。 Questi

    2024年02月04日
    瀏覽(17)
  • 【100天精通python】Day30:使用python操作數(shù)據(jù)庫_數(shù)據(jù)庫基礎(chǔ)入門

    【100天精通python】Day30:使用python操作數(shù)據(jù)庫_數(shù)據(jù)庫基礎(chǔ)入門

    ?專欄導(dǎo)讀? 專欄訂閱地址: https://blog.csdn.net/qq_35831906/category_12375510.html 1.1 什么是數(shù)據(jù)庫? ????????數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化存儲(chǔ)和組織數(shù)據(jù)的集合,它可以被有效地訪問、管理和更新。數(shù)據(jù)庫的目的是為了提供一種可靠的方式來存儲(chǔ)和管理大量的數(shù)據(jù),以便用戶和應(yīng)用程序

    2024年02月13日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包