第一章 基礎知識

這篇博文是本人在學習《Python基礎教程 (第3版)》的時候所記錄下來的關鍵要點,書中的核心知識點也都在本篇博客中所涉及,需要耐心每天堅持點點滴滴學習進步

第一章 基礎知識

數和表達式

1,執行整除運算//

4//3 —>1,整除的重點在于向下圓整-10 // 3 向下圓整得到 -4,而不是-3

2,求余(求模)運算符%

x % y 等價于 x - ((x // y) * y)

3,乘方(求冪)運算符**

注意:乘方運算符要比求負(單目運算符)的優先級高,-3 ** 2 等價于 -(3 ** 2)

4,十六進制0x開頭,八進制0開頭,二進制0b開頭

0xAF0100b1011010010
1758722

5,變量variable,表示特定值的名稱;使用python變量前必須對其賦值,python變量沒有默認值!!!

6,python命名只能由字母、數字和下劃線組成,且不能以數字開頭

7,獲取用戶輸入inputinput("please input your name:")

x = input("x:")
y = input("y")
print(int(x) * int(y))
time = input("please input miin")
if int(time) % 60 == 0:print('hours!')

8,函數

內置函數pow 等價于 乘方運算符( ** )

2 ** 3pow(2,3)
88

計算絕對值abs

將浮點數圓整為與之最接近的整數round,若在相鄰整數之間一樣近的時候,圓整到偶數

abs(-10)2 // 3round(2 / 3)
1001.0

模塊

可將模塊視為擴展,通過將其導入可以拓展Python的功能
使用import進行導入模塊,再以module.function的方式使用模塊的函數

import math
math.floor(32.9)##floor向下圓整,結果為32
math.ceil(32.3)##ceil返回大于或等于給定數的最小整數,結果為33
math.ceil(32)##結果為32
對于圓整的概念,我是將數從上到下依次遞減理解的54321.910-0.4
-1
-21.9向下圓整就是,向下走,1.9介于21之間,向下走,當然就是1了
同樣的道理,-0.4向上圓整就是向上走,-0.4介于0-1之間,向下走當然就是0

當然也可以直接從庫里面調用某個函數

from math import sqrt
sqrt(9)##平方根函數,結果為3.0

也可以使用變量來引用函數

from math import sqrt
yanyu = sqrt
yanyu(4)##結果為2.0

專門處理復數的模塊cmath

sqrt只能計算非負數的平方根,若使用其計算負數,則會報錯
負數的平方根為虛數,而由實部和虛部組成的數為復數,1j是個虛數,虛數都是以j(或J)結尾。-1的平方根是1j

import cmath
cmath.sqrt(-1)##結果為1j(1+3j) * (9+4j)##結果為(-3 + 31j)

有趣的海龜繪圖法

from turtle import *
##最終的效果是繪制一個三角形
forward(100)
left(120)
forward(100)
left(120)
forward(100)

字符串

注釋就不多說了吧, # 即可

1,轉義

python中的單引號和雙引號實則都是對字符串的輸出
主要區別就在于

let's go to school 
此時就不能再使用單引號了,需要使用雙引號
當然也可以\來對單引號進行轉移操作,讓python明白引號之間的是字符串的一部分,而不是字符串的結束標志
let\'s go to school' #結果為:let's go to school
\"hello beyond\" #結果為:"hello beyond"

2,拼接字符串

"hello, " + "beyond!"  #結果為:hello,beyondx = "hello,"
y = 'beyond'
x + y #結果為:hello,beyond

3,字符串表示str和repr

"Hello, world!" #結果為:'Hello, world!' 
print("Hello, world!") #結果為:Hello, world!"Hello,\nworld!" #結果為:'Hello,\nworld!' 
print("Hello,\nworld!") 
"""
結果為:
Hello, 
world!
"""#使用str能以合理的方式將值轉換為用戶能夠看懂的字符串
#使用repr時,通常會獲得值的合法Python表達式表示
print(repr("Hello,\nworld!")) #結果為:'Hello,\nworld!' 
print(str("Hello,\nworld!")) 
"""
結果為:
Hello, 
world!
"""

4,長字符串、原始字符串和字節

1,長字符串

要表示很長的字符串(跨行)時,使用三個單引號或三個雙引號來表示

print("""there is a very 
long
word
""")
輸出結果:
there is avery
long
word#常規字符串也可橫跨多行。只要在行尾加上反斜杠,反斜杠和換行符將被轉義,即被忽略
1+2+3+\
4+5
#結果:15

2,原始字符串

原始字符串用前綴r表示,即原樣輸出即使帶有轉義字符\也沒啥卵用
原始字符串不能以單個反斜杠結尾

print(r'Let\'s go!') #結果為:Let\'s go!
print(r'C:\beyond\zhendeaini\haikuotiankong\xihuanni') #結果為:C:\beyond\zhendeaini\haikuotiankong\xihuanniprint(r"This is illegal\")#結果為:編譯器會報錯,原因為原始字符串不能以單個反斜杠結尾
print(r“This is illegal” '\\')#結果為:This is illegal\

3,字節

源代碼也將被編碼,且默認使用的也是UTF-8編碼。
如果你想使用其他編碼(例如,如果你使用的文本編輯器使用其他編碼來存儲源代碼),可使用特殊的注釋來指定。# -*- coding: encoding name -*-
請將其中的encoding name替換為你要使用的編碼(大小寫都行),如utf-8或latin-1

Python還提供了bytearray,它是bytes的可變版。從某種意義上說,它就像是可修改
的字符串——常規字符串是不能修改的
要替換其中的字符,必須將其指定為0~255的值。要插入字符,必須使用ord獲取其序數值(ordinal value)

x = bytearray(b"Hello!") #b代表二進制,H為第0位,e為第1位
x[1] = ord(b"u") #將u代替e
x #輸出結果:bytearray(b'Hullo!')

本章節介紹的新函數

函 數(方括號內的參數是可選的)描 述
abs(number)返回指定數的絕對值
bytes(string, encoding[, errors])對指定的字符串進行編碼,并以指定的方式處理錯誤
cmath.sqrt(number)返回平方根;可用于負數
float(object)將字符串或數字轉換為浮點數
help([object])提供交互式幫助
input(prompt)以字符串的方式獲取用戶輸入
int(object)將字符串或數轉換為整數
math.ceil(number)以浮點數的方式返回向上圓整的結果
math.floor(number)以浮點數的方式返回向下圓整的結果
math.sqrt(number)返回平方根;不能用于負數
pow(x, y[, z])返回x的y次方對z求模的結果
print(object, …)將提供的實參打印出來,并用空格分隔
repr(object)返回指定值的字符串表示
round(number[, ndigits])四舍五入為指定的精度,正好為5時舍入到偶數
str(object)將指定的值轉換為字符串。用于轉換bytes時,可指定編碼和錯誤處理方式

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

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

相關文章

Python operator.le()函數與示例

operator.le()函數 (operator.le() Function) operator.le() function is a library function of operator module, it is used to perform "less than or equal to operation" on two values and returns True if the first value is less than or equal to the sec…

jQuery.validator

$(document).ready(function(){ /* 設置默認屬性 */$.validator.setDefaults({ submitHandler: function(form) { form.submit(); } }); // 中文字兩個字節 jQuery.validator.addMethod("byteRangeLength", function(value, element, param) { var length value.le…

js 第四課

正則表達式:RegExp對象 正則表達式描述一個字符模式的對象,或者說用某種模式去匹配一類字符串的一個公式。 1.創建 可以用RegExp構造函數和直接量兩種方式。正則表達式直接量被包含在一對"/"中. 1 var partern1 RegExp(\\d*); 2 …

第二章 列表和元組

第二章 列表和元組 在Python中,最基本的數據結構為序列(包括列表、元組、字符串等)(sequence) 列表是可以修改的,而元組不可以 Python支持一種數據結構的基本概念,名為容器(contain…

linux下mac風格菜單欄,ubuntu 8.04 安裝mac風格菜單

ubuntu 8.04 安裝mac風格菜單發布時間:2008-07-13 00:22:22來源:紅聯作者:bindex這只是一份草案文檔,它可能會導致一些計算機故障。引言這份指南假定你沒有在電腦上編譯過其他程序,并且,假定你使用的是Ubuntu Gusty。1.使用deb包安裝 32位系統…

解析法實現一元線性回歸、多元線性回歸以及數據模型可視化操作

目錄【1】解析法實現一元線性回歸python列表實現利用Numpy實現利用TensorFlow實現數據和模型可視化【2】解析法實現多元線性回歸利用Numpy實現需要用到的NumPy數組運算函數數據和模型可視化繪制空間點集:繪制空間平面圖:繪制線框圖并且與散點圖對比&…

帶有示例的Python File readlines()方法

文件readlines()方法 (File readlines() Method) readlines() method is an inbuilt method in Python, it is used to get all lines from the file, the method is called with this object (current file stream/IO object) and returns all available lines in the file, w…

32位系統win2008+mssql2008 6G內存折騰紀實

十年沒搞硬件了,現在計算機發展到大硬盤大內存的時代了。一直都少搞服務器配置、運營,以前弄服務器都是普通的PC來當服務器。公司原來的一個業務系統用的是mssql2000好幾年了,由于業務數據越積壓越多最大的一張表已經有7000多萬條記錄了&…

case使用 上下篇

上篇 Case具有兩種格式。簡單Case函數和Case搜索函數。 --簡單Case函數 CASE sexWHEN 1 THEN 男WHEN 2 THEN 女 ELSE 其他 END --Case搜索函數 CASE WHEN sex 1 THEN 男WHEN sex 2 THEN 女 ELSE 其他 END這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比…

第三章 字符串

第三章 字符串% 字符串是不可變的,所有的元素賦值和切片賦值都是非法的 Python提供了多種字符串格式設置方法 yanyu "hello, %s I like %s age is %s" beyond ("beyond","band",23) yanyu % beyond#結果為:hello, bey…

【視覺項目】【day5】8.25號實驗記錄(修完BUG,28張測試圖,13個樣本,四張測試圖誤判,這比之前效果好很多了)

目錄修改完BUG后的程序以及效果優化思路,增強正確識別率(待驗證)修改完BUG后的程序以及效果 修改代碼后的測試結果:(利用連通域面積將明顯比本張測試圖的瓶子要小的模板提前去除,減少誤判) 這樣下來,28張測…

linux kernel and user space通信機制,Linux內核空間與用戶空間通信機制地研究.doc

實用文案標準文檔Linux內核空間與用戶空間通信機制的研究Linux kernel space and user space communication mechanism摘 要Linux 是一個源碼開放的操作系統,無論是普通用戶還是企業用戶都可以編寫自己的內核代碼,再加上對標準內核的裁剪從而制作出適合自…

前臺用js、jquery出現錯誤很多是由于IE緩存

例如:當你用jquery進行異步請求數據時,如果瀏覽器發現請求的地址不變,或者參數也不改變的情況下 IE默認是取原來的緩存中的數據,而不進行重新請求數 解決的方法是是在地址欄的后面加上一個隨機參數值,IE發現地址改變&a…

python 示例_帶有示例的Python date timetuple()方法

python 示例Python date.timetuple()方法 (Python date.timetuple() Method) date.timetuple() method is used to manipulate objects of date class of module datetime. date.timetuple()方法用于操作模塊datetime的日期類的對象。 It is an instance method which means …

WebC.BBS 項目參與新人必讀

開發環境: 采用Visual Studio 2010,MVC版本采用Asp.Net MVC3,數據庫采用Sql2005 2008,擴展技術包括jQuery。 SVN的相關信息: SVN-Url:svn://svn.cyqdata.com/project_bbs 賬戶申請:請將自己的密碼發給組長,…

第四章 字典

第四章 字典{鍵:值,名字:電話號碼} 映射:通過名稱來訪問其各個值的數據結構 列表:將一系列值組合成數據結構并通過編號來訪問各個值 字典是Python中唯一的內置映射類型,其中的值不按順序排列,而是存儲在鍵下 鍵可能是數、字符串…

利用梯度下降法求解一元線性回歸和多元線性回歸

文章目錄原理以及公式【1】一元線性回歸問題【2】多元線性回歸問題【3】學習率【4】流程分析(一元線性回歸)【5】流程分析(多元線性回歸)歸一化原理以及每種歸一化適用的場合一元線性回歸代碼以及可視化結果多元線性回歸代碼以及可…

linux x64 asm 參數傳遞,NASM匯編學習系列(1)——系統調用和參數傳遞

0. 說明本學習系列代碼幾乎完全摘自:asmtutor.com,如果英文可以的(也可以用谷歌瀏覽器翻譯看),可以直接看asmtutor.com上的教程系統環境搭建:(我用的是ubuntu18.04.4 server,安裝gcc、g)sudo apt install nasmsudo apt…

Javascript之創建對象(原型模式)

我們創建的每個函數都有一個prototype(原型)屬性,這個屬性是一個指針,指向一個對象,它的用途是包含可以有特定類型的所有實例共享的屬性和方法。 prototype就是通過構造函數而創建的那個對象的原型對象。使用原型的好處就是可以讓所有對象實例…

treeset java_Java TreeSet pollLast()方法與示例

treeset javaTreeSet類pollLast()方法 (TreeSet Class pollLast() method) pollLast() method is available in java.util package. pollLast()方法在java.util包中可用。 pollLast() method is used to return the last highest element and then remove the element from thi…