阿里云天池 Python訓練營Task5:Python訓練營測試 學習筆記

一、學習知識點概要

本次是Python訓練營的測試,在45分鐘內完成25題,滿分100分及格80分。題目主要考察Task1到Task3里面的Python基礎知識。在我隨到的25道題里,知識點有:

  • 變量(包括數據類型和容器類型)
  • 運算符
  • 基本語句
  • 基本方法(包括變量類型的內置方法)
  • 類與對象
  • 函數(包括魔法方法)

二、學習內容

以下圖片為我的測試題和我的答案

第一題,在Task1的異常處理中可以知道,可以用raise語句手動拋出一個異常,配合try - except語句可以讓代碼正常運行。

第二題,考察模塊導入和常用模塊的內置屬性,沒什么好說的

第三題,也是考察模塊導入。要只導入模塊里具體的類的話是用? ?from 模塊?import 類名? ?的方式導入,D選項反了。

第四題,考察基本內置方法,type(obj)用于查看obj的數據類型

?

第五題,考察函數和循環語句。for循環中,in后面跟的是一個可迭代對象,題中為形參numbers。ABC三個選項中傳入的參數分別是列表、字符串、元組,都是可迭代的對象,而D選項傳入的參數1234是數值型,不是可迭代對象。

第六題,可以用id()查看是不是同一個內存地址。AB選項是通過分別賦值產生的,生成的分別是列表和整型數據,其在內存開辟了不同的空間,內部指向的是相同的內存地址。C雖然也是分別賦值產生,但是C生成的是字符串,這樣使得s1與s2是同一個內存地址。D選項產生的是整形數據,而不是元組。

第七題,final在Java中用于表示類不能被繼承。但在Python中并沒有final關鍵字。

第八題,要注意Python是嚴格按照縮進分語句塊的,這樣print("Hello"*2)是屬于myfun()函數內部的代碼。雖然調用時已經pass了中間部分,但是還是會執行print("Hello"*2)。*號是容器類型表示重復的符號,于是就輸出了HelloHello

第九題,考察變量和運算符的使用。第一個部分x>=y易知結果為True;而第二部分ch<'b'是字符串的比較,單個字符比較的是其ASCII碼值,大寫字母的ASCII碼值比小寫字母的小,于是ch<'b'的結果也是True;第三部分是y,y=1,這樣整個運算式就可以表示為True and True and 1。在布爾變量和邏輯運算的學習中可知,當布爾變量參與數字運算時由0代表False,1代表True。True and True and 1運算至下一步變為True and 1,由于數字1在and后面,返回值為數值,于是運算結果為1。

第十題,考察基本類型的內置函數。列表的append()函數是將參數當成一個整體添加至列表的末尾,列表長度總是+1的,于是輸出列表的長度是5。

第十一題,break語句用于跳出循環,如果不在循環體內使用的話會報錯。

第十二題,計算機基本原理,沒什么好說的。

第十三題,Python中若變量不先創建和賦值就使用會報錯。

第十四題,若用try - except語句,拋出的異常被except語句攔截就不會終止程序。

第十五題,字典中的鍵只能用不可變類型充當,C選項中的鍵是列表,列表是可變類型。

第十六題,容器類型的切片操作。s是字符串,s[::2]表示選取s從第一個字符開始,每隔兩步(即一個字符)選取一次,最后選取結果是'aceg'。

第十七題,考察的是類與對象。要注意的是,當通過對象調用方法時,會向方法傳入自身這個參數,如果方法定義時沒有self這個參數,則只能通過類名調用。題目中D類所擁有的a(),b(),c(),方法均沒有參數,不能通過對象調用。

第十八題,在類里定義了實例化方法__init__(),在每次創建對象時會自動調用,如果創建對象時沒有參數傳給name,則會出錯。而定義的showInfo()方法只有self一個參數,當通過對象調用時會將自身傳給self,因此通過對象調用該函數時無需再添加參數。

不過我在做這題時本來是選擇了C選項,但是到交卷的時候這題就變成了D選項,導致我這題錯了。不知道是系統的問題還是在我點下一題之前點錯了。

第十九題,主要考察作用域。global關鍵字將函數內的counter聲明為全局變量,于是調用函數doLotsOfStuff()時會對第一句聲明的counter產生影響。

第二十題,考察類與對象。實例方法是和對象密切相關的,每個對象調用的結果可能不一樣,必須指定一個對象作為參數才能調用,所以實例方法必須在創建對象后才可以調用,B錯誤。

第二十一題,正確選項是AC。這題有點沒搞懂,我不知道是不是出題人不小心把self打成了sef。如果寫的是self的話,應該是可以實例化,然后再在類外給? 對象.x? 賦值的話是可以正常通過對象調用的。但如果寫的就是sef的話,showInfo()方法內的self.x中的self就不會被認為是self指針了,所以pycharm會說self沒有定義,類的定義中出現語法錯誤,也就不可以實例化了。

第二十二題,考察魔法方法。魔法方法是內置的方法,可以通過在類中重寫增加新的行為,但是并不表示如果類中不定義的話就沒有任何方法,類中是即包含__dir__()也包含__hash__()的。

第二十三題,考察字符串類的內置方法。count()方法就是用于統計字符串中某個子字符串的出現次數。而find()方法和index()方法類似,都是查找子字符串的位置,如果找到就返回索引值,但是如果沒有找到子字符串,find()會返回-1,index()會報錯,選項BC是反了。

第二十四題,考察Python基本語法。A選項是用了三目運算符,是正確的。而B中的?在Python中沒有定義。C選項中,如果用不是三目運算符的話,if(condition)后面要跟冒號,并且換行縮進,x放在print()小括號里面作為參數,這樣才符合Python語法。D選項的語法是正確的,不過While循環體用Pass的話會無法跳出循環,程序會一直運行下去。

第二十五題。A選項中每次循環都會輸出兩個數字,最終輸出結果是0,1,1,2,2,3。B選項明顯正確。C選項只輸出1,2,因為當i=3時 i<3的結果是False,會跳出循環,沒有輸出3。D選項也是正確的,range(3)生成包含0,1,2 三個數字的可迭代對象,輸出時用print(i+1)是正確的。

最終我由于十八題和二十一題兩題錯誤,獲得了92分。

三、學習問題與解答

本次測驗的題目只考Task1~Task3里的內容,都是Python里很基礎的東西。第十八題我一開始是選C的,可能是我在點下一題的時候不小心點錯更改了一次選項選到D導致錯誤。而二十一題也是被題目誘導了,再加之我沒有用過pycharm,之前一直用IDEL進行學習。發現二十一題寫錯之后我下載了pycharm編輯器試了題目的代碼,才知道是怎么回事。

四、學習思考與總結

Python訓練營差不多就要結束了,學習了很多Python的基礎內容。測驗測的都是Python基礎,也順利通過了,以后要提升還得繼續學習Python的進階內容,例如Task4里的東西。用了一會pycharm發現這個比IDEL要好用得多,以后還是用pycharm進行學習好了🤣

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

centos7安裝oracle12c 三

場景描述&#xff1a;我在自己電腦的虛擬機上linux環境下安裝oracle11g數據庫。 Linux版本為&#xff1a;CentOS release 6.8 (Final)&#xff0c;Oracle版本為&#xff1a;linux.x64_11gR2 問題描述&#xff1a;在oracle安裝到Prerequisite Checks這一步的時候&#xff0c;出現…

mysql刪除一條記錄

mysql如何刪除一條記錄delete from 表名 where 條件實例&#xff1a;use db1delete from tb1 where id 1; 轉載于:https://www.cnblogs.com/effortsing/p/10393229.html

HBase體系結構

HBase HBase是Apache Hadoop的數據庫&#xff0c;基于HDFS文件系統 random,realtime read/write access to Big Data 開源、分布式、可擴展、面向列 larger tables--billions of rows X millions of columns 不支持表鏈接操作 不支持事務處理 HBase存儲的數據從邏輯上來…

《屬性數據分析引論》 部分課后習題R語言實踐(第三章、第四章)

目錄 前言 第三章 廣義線性模型 習題3.18 a小題 b小題 c小題 d小題 習題3.19 a小題 b小題 c小題 第四章 Logistic回歸 習題4.1 a小題 b小題 c小題 d小題 e小題 習題4.2 a小題 b小題 c小題 d小題 小結 前言 習題選自高等教育出版社譯制&#xff0c;Alan A…

Linux下SVN搭建

在Linux系統中搭建svn服務所需要用到的軟件叫做subversion&#xff0c;可以通過yum來進行安裝&#xff0c;如圖 安裝好軟件后第一件事就是創建一個倉庫目錄 [rootserver1 ~]# mkdir /svn 使用svn自帶命令建立倉庫 [rootserver1 ~]# svnadmin create /svn 進入該倉庫&#xff0c…

HBase模式設計

HBase的使用是為了解決或優化某一問題 恰當的設計模式可以使其具有HBase本身所不具有的功能&#xff0c;并且使其執行效率得到成百上千倍的提高 在進行HBase數據庫模式設計的時候&#xff0c;不當的設置可能對系統的性能產生不良的影響 需要注意&#xff1a; 1、列族的數量及…

C++STL特殊容器priority_queue

在了解priority_queue&#xff08;優先隊列&#xff09;前&#xff0c;可以先去瞅瞅queue&#xff0c;下面是傳送門啦>——< 傳送門 priority_queue的基本性能 class priority_queue<>實現出一個queue&#xff0c;只不過其中的元素依照優先級被讀取。priority_queu…

可用于多元正態的參數估計 及 均值向量和協差陣檢驗 的R語言函數總結

一、多元正態的參數估計 1.1 樣本均值 在R語言中&#xff0c;均值通常用函數mean()得到&#xff0c;但是mean()只能計算一維變量的樣本均值&#xff0c;在面對多元隨機變量的樣本時&#xff0c;假設我們以數據框的形式保存樣本&#xff0c;我們有以下方法可以得到樣本均值&…

30秒的PHP代碼片段-MATH

本文來自GitHub開源項目 點我跳轉 30秒的PHP代碼片段 精選的有用PHP片段集合&#xff0c;您可以在30秒或更短的時間內理解這些片段。數學函數 average 返回兩個或多個數字的平均值。 function average(...$items) { $count count($items); return $count 0 ? 0 : array_sum(…

Hive簡介

Hive最初是應Facebook每天產生的海量新興社會網絡數據進行管理和機器學習的需求而產生和發展的 是建立在Hadoop上的數據倉庫基礎架構 作為Hadoop的一個數據倉庫工具&#xff0c;Hive可以將結構化的數據文件映射為一張數據庫表&#xff0c;并提供簡單的SQL查詢功能 Hive作為數…

可用于 線性判別、聚類分析 的R語言函數總結

一、判別分析 判別分析是一種分類技術&#xff0c;其通過一個已知類別的“訓練樣本”來建立判別準則&#xff0c;并通過預測變量來為未知類別的數據進行分類。根據判別的模型分為線性判別和非線性判別&#xff0c;線性判別中根據判別準則又分為Fisher判別&#xff0c;Bayes判別…

Linux 環境下搭建 Jenkins(Hudson)平臺

安裝jenkins&#xff1a;安裝 jenkins 有兩種方式&#xff1a;安裝方式一&#xff1a; [java] view plaincopysudo java -jar jenkins.war –httpPort18080 –ajp13Port18009 但是很多時候我們是使用SSH方式到目標機器上的&#xff0c;放我們關閉SSH連接時&#xff0c;這個命…

Android APK 打包過程 MD

Markdown版本筆記我的GitHub首頁我的博客我的微信我的郵箱MyAndroidBlogsbaiqiantaobaiqiantaobqt20094baiqiantaosina.comAndroid APK 打包流程 MD 目錄 目錄APK 的打包流程整體流程資源的編譯和打包資源ID資源索引概況具體打包過程aapt階段aidl階段Java Compiler階段dex階段a…

可用于 主成分分析、R型因子分析、簡單相應分析 的R語言函數總結

一、主成分分析 主成分分析是多元統計分析的一種常用的降維方法&#xff0c;它以盡量少的信息損失&#xff0c;最大程度將變量個數減少&#xff0c;且彼此間互不相關。提取出來的新變量成為主成分&#xff0c;主成分是原始變量的線性組合。 1.1 KMO檢驗和Bartlett球形檢驗 在…

[國家集訓隊]墨墨的等式

Description 墨墨突然對等式很感興趣&#xff0c;他正在研究a1x1a2y2…anxnB存在非負整數解的條件&#xff0c;他要求你編寫一個程序&#xff0c;給定N、{an}、以及B的取值范圍&#xff0c;求出有多少B可以使等式存在非負整數解。 Input 輸入的第一行包含3個正整數&#xff0c;…

Storm簡介

Storm是實時流式數據處理框架&#xff0c;支持多種編程語言 應用案例&#xff1a; realtime analytics online machine learning continuous computation distributed RPC ETL 性能&#xff1a;a million tuples per second per node 可擴展、高容錯 結合消息隊列和數據庫…

持續集成之Jenkins安裝部署

安裝JDKJenkins是Java編寫的&#xff0c;所以需要先安裝JDK&#xff0c;這里采用yum安裝&#xff0c;如果對版本有需求&#xff0c;可以直接在Oracle官網下載JDK。 [rootlinux-node1 ~]# yum install -y java-1.8.0 安裝Jekins [rootlinux-node1 ~]# cd /etc/yum.repos.d/ […

2019/2/18 Python今日收獲

Python day15——032&#xff0c;033異常處理&#xff1a;你不可能總是對的 1. Python標準異常總結AssertionError斷言語句&#xff08;assert&#xff09;失敗AttributeError嘗試訪問未知的對象屬性EOFError用戶輸入文件末尾標志EOF&#xff08;Ctrld&#xff09;FloatingPoin…

Shell01

shell是一個命令解釋器&#xff0c;是操作系統的最外層。 把用戶的輸入解釋給操作系統&#xff0c;將操作系統的輸入結果返回給用戶。 硬件-->kernel-->shell-->外圍應用程序 shell腳本&#xff1a;將命令或語句寫入文件&#xff0c;進行操作系統管理。 shell腳本…

jenkins svn tomcat ant自動部署

Jenkins Jenkins是基于Java開發的一種持續集成工具&#xff0c;用于監控持續重復的工作&#xff0c;功能包括&#xff1a; 1、持續的軟件版本發布/測試項目。 2、監控外部調用執行的工作。 跟其他持續集成相比&#xff0c;它的主要優點有&#xff1a; 開源&#xff0c;即免…