python基礎學習(前期零碎知識點二)

一,賦值運算
變量名=數值
a+=b 等價於a = a+b

二,字符串的運算
name = “陳銘”
first_name = “陳”
last_name = “銘”

#######1.+可以將兩個字符串連接在一起
print(first_name + last_name)

#########2.字符串不能與數字相連接,只能與字符串相連接

#########3.字符串可以使用與數字相連
表示反覆連接多個字符串
連接的數量是
後面的數字
print(name * 3)

########4.任意數據轉化爲字符串str
a = 123
print(str(a)) 這就已經把數字123轉換爲了字符串

############練習練習練習#############
爲了顯示 1+2=3
a = 1
b = 2
print(str(a)+"+"+str(b)+"="+str(a+b))

三,標準輸入
input()函數的使用:

input()可以用來接收用戶的輸入信息
當執行input()操作時,程序等待用戶的輸入,而不向下執行
name = input(“請輸入你的名字:”)
print(name)

四,數據類型的轉換
輸入數據轉換類型的使用

使用input操作得到的數據都是字符串str類型的
s = input(“輸入數據:”) 如果輸入123,本應該是int,但是通過input就變成str類型的
print(type(s))

計算a+b的值,要求a和b都是通過鍵盤輸入
通過類型轉換將字符串轉換爲數字
a = float(input(“輸入數字:”)) 本來input輸入的都是字符串,如果字符串相加算的就是字符串拼接。用float將input的字符串類型強制轉換爲數字類型
b = float(input(“輸入數字:”))
print(a + b) 結果是精確小數點後面一位

五,格式化輸出

1.格式化字符

引號包圍的都是字符串,字符串不是數值類型

可以輸入變量的字符串,可以顯示變量不同值的信息。

佔位符:::(在字符串裏佔位)

1.%s 字符串
name = str(input())
print(“I name is %s” %name) #我的名字是

2.%d 有符號十進制整數,%6表示輸出的整數顯示的數位,不足的部分拿空格補全 %.6表示顯示輸出整數的小數數位,不足部分拿空格補全
student=int(input())
print(“My student is %6d” %student) #我的學號是

3.%f 浮點數,%.2表示小數後顯示兩位
%f(默認保留六位小數)寫成%.2f的目的:0.010000變成0.01

              %5.2表示小數後顯示兩位,總共顯示五位,不足的在前面以空格補充
              %-5.2表示向左對齊
              %+5.2表示顯示正負

price = float(input())
weight = float(input())
money = price * weight
print(“Unit price is %.2f¥/kg, Weight is %.2f/kg, Money is %.2f¥”%(price,weight,money)) #單價是 重量是 花費

4.%% 輸出%
scale = 0.25 * 100
print(“The data ratio is %.2f%%” %scale) #數據比例是

5.%c 是ASCII字符 #把十進制的數據轉換爲對應的ASCII碼
‘%c’%66 輸出結果爲B #因爲B 的ASCII碼爲66

6.%o 是八進制 逢八進一
‘%o’%8 輸出爲10
‘%o’%9 輸出爲11
‘%o’%16 輸出爲20

7.%x 是十六進制

8.%e 是科學技術法

例如:
print( 數據/變量 )
print(“包含1個佔位符的格式化字符串” % 變量 )
print(“包含多個佔位符的格式化字符串” % (變量1,變量2,…) )

name = "張三"
a = 38000
b = 27.31
print("姓名是%s,本月銷售額是%d元, 團隊銷售額佔比百分之%.2f%%" %(name, a, b))

(%s數字串 %d整數 %%輸出% %f浮點數
%%輸出%%6d整數,數字用於設置位數(最小值),不足補空白)

########溫故而知新
字符串的拼接:::
1.使用 +
str1 + str2 + str3

2.格式化字符串
見上面

3.使用format 注(此用法講究先後順序)
name = ‘john’
age = 12
第一種:::
{}{}.format(‘str1’,‘str2’) #默認第一個{}爲0下標,第二個爲1,以此類推,一一對應後面的字符串。和第二種方法一樣
第二種:::
print(’{0} is {1} years old ‘.format(name,age) #{}裏面的下標可以隨便改(不能超出後面的字符串數),結果{}裏對應的字符串也會一一對應的改
例如:{1}{0}.format(‘str1’,‘str2’) #下標1就對應str2,下標0就對應str1
第三種:::
關鍵字用法 注(此用法可以忽略先後順序)
print(‘{name} is {age} years old’.format(name=name,age=age)

        format拓展:::
        (1)使用默認下標時:
             '{:.3f}'.format(1.3432)    使輸出保留小數點後三位(注意是四捨五入)。
                                可以使用所有的格式化方法:
                                '{a:20f}'.format(a = 1.233)     輸出爲右對齊,不足的補爲0
                                '{a:<20f}'.format(a = 1.233)    輸出爲左對齊,不足的補爲0
                                '{a:>20f}'.format(a = 1.233)    輸出爲右對齊,不足的補爲0
                                '{a:^20f}'.format(a = 1.233)    輸出爲中間對齊,不足的補爲0

        (2)使用關鍵字時:
             '{a:.2f}'.format(a = 1.323)    使輸出保留小數點後兩位
        (3)把小數改成百分比的形式:
              '{a:.2%}'.format(a = 1.43553)    輸出爲143.55%
        (4)結合使用八進制和十進制:
              '{:o}'.format(11)   輸出爲十進制11對應的八進制b
              '{:x}'.format(11)   輸出爲十進制11對應的十六進制13

4.1.使用join ‘’ .join([str1,str2,str3]) #必須是字符串
str1 = ‘中國’
str2 = ‘吃飯’
str3 = ‘好飽’
a = “和吳某”
b = a .join([str1,str3]) join作用是插空,把a插到空隙裏,本句代碼是插在str1和str3中間。
print(b) 輸出爲: 中國和吳某好飽
用處:不修改別人的源文件的前提下進行增加。

八,列表[] 中括號,中間用逗號分隔,如果索引錯誤取不到,則爲空列表。
元組() 小括號,中間用逗號分隔,如果索引錯誤取不到,則爲空元組。

九,索引及切片 注(任何數據類型都有效)

取值的過程中,由小到大取值。

1.索引實例 : a = [1,2,3]
print(a[-1]) 注:從列表右側向左側第一個是-1,以此類推。
2.切片實例: a = [1,2,3]
print(a[0:3:1])

索引取數字的下標數字
切片 注:左閉右開
正方向[起始位置:結束位置+1:步長]
注(如果步長爲負數,則逆序)
反方向[開始位置:結束位置-1:負數]

步長(step):
a = [1,2,3,4,5,6,7,8,9,10]
需求取列表中所有奇數
例如:
print(a[0(起始位置):9+1(結束位置+1):2(隔兩個取一次)])
運行結果爲 [1,3,5,7,9]

需求取列表中所有偶數
例如:
print(a[1(起始位置):9+1(結束位置+1):2(隔兩個取一次)])
運行結果爲 [2,4,6,8,10]

重點:
bb=[33,2,2,3,6,5,7,9,78]
print(bb[::-2]) 簡寫了,等價於bb[ : :-2],起始位置和結束位置+1的兩個地方沒寫,則爲整個列表
運行結果爲[78,7,6,2,33]

bb[3]=3 簡寫了,等價於bb[3::]

################################一些普遍指令:######################################

###################列表::::
如 X = [1,2,3]

X.append(‘幾百’) print(X)輸出結果’1,2,3,幾百’ 加入單個值!!! 列表專屬

insert(x,x) —>自定義位置添加,數值插入到指定的索引後面 加入單個值!!!如li.insert(1,’索嗨’) #所添加的下標指定位置,第二個需要的元素就是需要添加的值

extend() —>在列表末尾插入,可插入序列類型(字符串,列表,元組),會拆分每一個元素。可以添加一個列表(元組),這個列表(元組)裏面唯一一個元素時,不會拆分開。 加入多個值!!!

pop() —>沒有添加數值的情況下會刪除列表的最後一項元素,如果帶了參數的話就刪除指定下標位置的元素 #如果print(li.pop(1))那麼會輸出彈出/刪除的這個元素

remove() —>刪除指定元素,但是在有多個相同項的情況下只刪除第一個

clear() —>清空列表,刪除列表裏所有的值,括號內不需要帶參數

count() —>統計重複參數重複了幾次,計數 #可以賦值可以print

index(x,x) —>第一個參數是要查找的值,第二個參數是查找開始的下標位置。每次查找只會顯示查找到的第一個值的下標。不加第二個參數的話默認從下標0開始,沒有查找到的時候會報錯 #可以賦值可以print

copy() —>複製給賦值的目標,深淺複製只用於列表。淺複製時列表外層改變不會影響複製的對象的外層列表,內層則會,深複製則是改變外層時影響複製對象的外層,但是改變內層列表時不會改變複製對象的內層,深淺複製只管內層和外層,不能指定內層的其中一層。 # 原因爲地址不一樣
如a = 3 b = a.copy() 返回結果爲a=3 b=3,這爲淺複製。深複製需要導入複製模塊與應用模塊,如: #
如:
import copy
li = [1,2,3]
li2 = copy.deepcopy(li)

#複製一行的快捷鍵是Ctrl+d
sort() —>對列表裏的數值從小到大排序,只能是數字,如果列表裏有字符串的話那麼需要在括號內加入:key=str 如a.sort(key=str) 。字符串的排序根據於ASCII的字母排序。
reverse() —>對列表裏的數值從大到小反序,只能是數字,如果列表裏有字符串的話那麼需要在括號內加入:key=str 如a.sort(key=str) 。字符串的排序根據於ASCII的字母排序。
dir() —>查看列表的方法
help() —>查看列表的相關知識

#################元組:::
元組能用的方法:count()、index(),如果要用別的方法,則轉換爲列表進行操作,操作之後再轉換爲元組

字符串不可變 元組不可變

#################字符串:::
count() —>統計重複參數重複了幾次,計數 #可以賦值可以print

index(x,x) —>第一個參數是要查找的值,第二個參數是查找開始的下標位置。每次查找只會顯示查找到的第一個值的下標。不加第二個參數的話默認從下標0開始,沒有查找到的時候會報錯 #可以賦值可以print

字符串獨有的!!!
find(x,x) —> 第一個參數是要查找的值,第二個參數是查找開始的下標位置。每次查找只會顯示查找到的第一個值的下標,沒有查找到的時候會返回負一。

isdigit() —>判斷一個字符串裏是不是都是數字,如果是就是True,如果不是就是False

isalpha() —>判斷一個字符串裏是不是都是字母,如果是就是True,如果不是就是False。官方中文也默認爲是。

endswith(‘str’) —>比較結尾的元素與str是否相同

startswith(‘str’) —>比較開頭的元素與str是否相同,如果相同就是True,如果不相同就是False

如:
s = {1,2,3,4,5,6,7} #去重
s2 = {5,6,79}
#print(s|s2) #並集:不同的部分組合起來
#print(s&s2) #交集:集合中所共有的部分
#print(s2-s) #差集:s2裏面沒有的元素
#print(s.isdisjoint(s2)) #有交集放回false
#print(s2.issubset(s)) #s2是不是被s所包含放回true

改動字符串的方法,但是原字符串是不會改變的,因爲字符串是不可變的!!!
islower() —>判斷字符串內是否有大寫,如果全是小寫就是True,如果有大寫就是False
isupper() —>判斷字符串內是否有小寫,如果全是大寫就是True,如果有小寫就是False

lower() —>把字符串內全部的字母都轉換爲小寫
upper() —>把字符串內全部的字母都轉換爲大寫

strip() —>去除字符串左右兩邊的指定參數,如不輸入參數默認清除左右空格
lstrip() —>去除字符串左邊的指定參數,如不輸入參數默認清除左邊空格
rstrip() —>去除字符串右邊的指定參數,如不輸入參數默認清除右邊空格

capitalize() —>字符串的第一個字母轉換成大寫

title() —>字符串的每一個單詞的第一個字母轉換成大寫

split(‘str’),str表示要進行切割的對象,切割後會返回一個列表
例子:
s = ‘吳某真帥啊吳某是吧吳某’
s.split(‘吳某’)
>>> s.split(‘吳某’)
[’’, ‘真帥啊’, ‘是吧’, ‘’] #第一個吳漢到開頭沒有東西,所以是空
li=split("-")把字符串切割成列表
split(a,1) —>用參數a切割,後面數字1表示切割的參數a的次數。

replace(‘x’,’x’,1) —>把第一個已有參數替換成第二個參數 後面的1表示替換的次數

字符串轉義:
\n換行符

\t水平字符表相當於4個空格

\b退格,相當於刪除前一個字符

\r回車,當前位置移動到開頭。後面的覆蓋最前面的,沒覆蓋到的仍然是原樣,

\代表反斜槓,取消轉義 比如’就可以打印出’而不會報錯.

\0代表一個空字符,顯示空格

\a系統提示音

在字符串前面加r取消全部轉義。在路徑前面可以用,防止錯用轉義。

在IDLE中ALT和P可以用上面使用的一個代碼!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章