Python中的小細節知識(一)

一、打印函數print

print (5+3)
print (1234567890987654321*987654321012345678)
print ("well water"+" river")
print ("I love fishc.com\n"*8)
print ('I love fishc.com'+'5')
print (' I l"o"ve fishc.com ')
print (365*24*60*60)

在這裏插入圖片描述
二、Python中如何定義和調用一個函數

def me():     #定義函數,注意括號和冒號
    print ('i love my brother')		#注意縮進制
me()   #調用函數
#me()函數沒有顯示return,默認返回None

def you():	#同上,定義函數,函數名可以自己定
    return (print ('a'))	#注意這裏是要返回打印函數,不能直接返回a
you()  	#調用函數

在這裏插入圖片描述
三、用Python實現小遊戲
小遊戲雛形:

print ('--------------------i love mountain peak--------------------')		#python不要什麼頭文件,代碼比較簡潔
temp = input("不妨猜一下我現在心裏想的是哪個數字:")
guess = int(temp)   
if guess == 8:    #不要漏掉冒號,而且一定要注意縮進制!!!!!!
    print ("what?你是我心裏的蛔蟲嗎?!")
    print ("哼,猜中了也沒有獎勵!")
else:
    print ("猜錯了,我現在心裏想的是8!")
print ("遊戲結束,不玩了哈哈")

在這裏插入圖片描述

下面是經我改造過的小遊戲,有次數限制的一個,對於學過C的朋友應該不難

import random
secret = random.randint(1,10)

print ('-------i love peak-------哈哈,和peak來玩一個小遊戲')
temp =input ('不妨猜一下我現在心裏想的是哪個數字,猜測範圍爲1到10哦!')
guess = int (temp)
time = 0
if guess == secret:
    print ('哇塞,好開心哦,你是我心裏的蛔蟲嗎,居然一猜就中了呢哈哈哈')
while guess != secret:
    print('哎呀,猜錯了啦,快點重新猜一下,我可是給你機會了:')
    temp = input ('好啦,再猜一下我心裏想的是哪個數字,記得猜測範圍爲1到10哦!')
    guess = int (temp)
    if guess == secret:
        print ('哈哈,還不錯嘛,你終於猜對了啦!')
        print ('嘿嘿,不過,,猜中了也沒有獎勵哦嘻嘻嘻')
    else:
        if guess < secret:
            print ('誒呀,你怎麼又猜錯了,哎,給你個提醒吧,你猜小了!!')
        else:
            print ('誒呀,你怎麼又猜錯了,哎,哥們,給你個提醒吧,你猜大了啦!!')
        time = time + 1
        print ('time = ',time)
        if time >= 3:
            print ('哎,哎,你真的太傷我的心了,都猜了四次了還沒猜對,害,不玩了')
            break


在這裏插入圖片描述
四、下面是對轉義字符和原始字符串的簡單理解

(1)

#轉義字符:

print ('Let\'s go')

#原始字符串:

str = 'C:\\now'
print (str)
str = r'C:\now'
print (str)

在這裏插入圖片描述
(2)

str = r'C:\Program Files\FishC\Good''\\'
print (str)        #str()print() 都是內置函數,
                  #但 Python 貌似不介意我們對內置函數進行賦值操作

fist = 520          #給first賦值數字520
second = '520'      #給second賦值字符串520
first = second
print (first)   #打印520這個字符串
print (second)     #打印520這個字符串

在這裏插入圖片描述
(3)

str ='''改變或許不易,
但如果你一生只有一次翻身的機會,
就要用盡全力,
願你別辜負自己
'''     #或者雙引號
print (str)

在這裏插入圖片描述
在這裏插入圖片描述
五、列表和元組


#列表:一個打了激素的數組(裏面的數據的數據類型要一致)

#但是列表可以包含多個數據類型的數據:如下所示

#創建一個普通的列表:

member = ['爸爸','媽媽咪','姐姐妹妹','弟弟','哥哥']
print (member)

#創建混合列表:

mix = [1,'哥哥','妹妹',3.14,[1,2,3]]
print (mix)

#創建一個空列表:

empty = []
print (empty)

#向列表添加元素:

member.append('福祿娃娃')   #append的中文意思是附加,增補,在這裏,append就是一種加長列表的方法
print (member)
member.extend(['哥哥','弟弟'])   #extend是一種把一個列表加到另一個的方法
#append與extend都是可以用來加長列表的方法,區別是append只能增加一個列表元素,而extend可以增加無數個
print (member,len(member))

member.insert(0,'牡丹')    #計算機處理二進制數,只有01,所以0是第一個
print (member)             #insert在某個位置插入一個列表元素


#從列表中獲取元素:index,0開始

print (member[0])

#從列表中刪除元素:三種方法
#第一種:remove(remove是一種方法)是根據列表元素本身來刪除,而不是通過下標
member.remove('福祿娃娃')   #
print (member)
#第二種:del(del是一個語句)是通過下標進行刪除
del member[1]      
print (member)
#del member    #整個列表都刪掉
#print (member)
#第三種:pop
member.pop()   #沒有參數時去掉最後一個
print (member)
#name = member.pop()且可將拋出的元素進行賦值。
member.pop(1):也可通過元素下標刪除
print (member)

#列表分片(slice),利用索引值,從列表中一次性獲取多個元素

print (member[1:3])#打印索引號爲1-3的元素,包括1不包括3
print (member[:3])#從索引號爲0開始,包括0,不包括3
print (member[:])    #打印列表裏的所有元素,重複操作符
member2 = member[:]  #member2不會跟着下面member的改變而改變
print (member2)      #接上,如果是member,就會跟着member的改變而改變

#列表的一些常用操作符:比較操作符,邏輯操作符,連接操作費,重複操作符,成員關係操作符

list1 = [123,456]    #第一個元素是123,比較的時候只看第一個元素
list2 = [234,123]
list3 = list1 + list2    #加長列表
list1.extend([456,678])  #extend加長列表
print (list1)
list4 = list1 * 3
print (list4)     #乘法,加長字符串
#會打印[123, 456, 123, 456, 123, 456]

#in,not in   只能用在同一個層次上,如:123 in list1,返回True
#和breakcontinue只能退出一個循環

#列表裏的列表不能用in和not in,----->成員操作符

list5 = [123,['哥哥','妹妹'],456]
print (list5[1])
print (list5[1][1])    #類似於二維數組的訪問

#dir(list)-count計算某個python中的變量(名字(標籤))在整個程序中的次數

print (list1.count(123))
print (list4.index(123,2,9))    #在2-9之間123處在第幾位

#reverse和sort和其他的不一樣,他們都是直接可以改變list1,而且不用參數

list1.reverse()      #直接在這裏表示反轉之後,就已經改變list1了
print (list1)      #reverse不需要參數

list6 = [5,7,8,2,3,30,26]
list6.sort()      #從小到大,想要從大到小可以再反轉,或者把reverse當成一個參數
print (list6)

list6.sort(reverse = True)   #默認是False
print (list6)


#元組:戴上了枷鎖的列表,元組和列表很相似,但列表可以隨意修改,插入元素,加長等,元組不行

#創建和訪問一個元組

tuple1 = (1,2,3,4,5,6,7,8)
print (tuple1)
print (tuple1[1])
print (tuple1[5:])
print (tuple1[:5])
tuple2 = tuple1[:]
print (tuple2)

#元組的標誌不是'()',而是','。列表的標誌是[]

temp = 2,3,4
print (temp)
print (type(temp))
temp2 = (1,)
print (type(temp2))
temp2 = 1,
print (type(temp2))

temp1 = []
print (type(temp1))
print (8 * (8,))

#更新和刪除一個元組,和字符串一樣,通過切片拼接的形式來改變

temp3 = ('小甲魚','黑夜','迷途','小布丁')
temp3 = temp3[:2] + ('哥哥',) + temp3[2:]
print (temp3)
del temp3
print (temp3)

六、常用操作符


#常用操作符和列表和元組一樣
str1 = 'brother'    #若沒有標籤指向,python會自動回收
print (str1[:6])
print (str1[5])

#首字母變大寫

str2 = 'xiaoyan'
print (str2.capitalize())

#全部變小寫

str3 = 'YUANFENG'
print (str3.casefold())

#center(width)將字符串居中,並使用空格填充至長度width的新字符串

print (str3.center(20))

#count查找次數

print (str2.count('xi'))

#str2.endswith('xi')檢查以什麼結束字符串

#str2.find('')找不到的話就是-1,找得到就是下標號(第幾個數),不會異常,index找不到會異常

#format字符串的格式化

print ("{0} love {1} {2}".format("i","my brother","very much.")) #位置參數

print ("{a} love {b} {c}".format(a="i",b="my brother",c="very much."))#關鍵字參數

print ("{0} love {b} {c}".format("i",b="my brother",c="very much."))#綜合兩種參數一起使用

#但位置參數必須在關鍵字參數前面

print ("\\")
print ("{{0}}".format("不打印"))   #0已經被解釋掉了

#在替換域':'表示格式化符號的開始:

print ("{0:.1f}{1}".format(27.658,"GB"))  #'.1'表示保留一位小數點,還要四捨五入
       
#f表示打印出定點化,類似於浮點數,就是打印小數,,%格式化操作符

'''
%c格式化字符及其ASCII碼
%s格式化字符串
%d格式化整數
%o格式化無符號八進制數
%x格式化無符號十六進制
%X格式化無符號十六進制大寫
%f格式化定點數,可指定小數點後面的精度
%e用科學計數法格式化定點數
%E作用同%e,用科學計數法格式化定點數
%g根據值的大小決定使用%f或%e
%G作用同%g,根據值的大小決定使用%f或%E


'''
print ("%c" % 97)    #a
print ("%c %c %c" % (97,98,99))

print ("%s" % "i love my brother very much.")

print ("%d + %d = %d" % (4,5,4+5))#A0的十六進制表示爲十進制的160

print ("%X" % 160)

print ("%f" % 27.658)

print ("%e" % 27.658)

print ("%5.1f" % 27.658)  #5表示字符串要佔到多少個位置,.1表示四捨五入

print ("%10d" % 5)

print ("%-10d" % 5) #-表示左對齊

print ("%-+10d" % 5)

print ("%#x" % 108)      #"#"表示在八進制面前顯示0,在十六進制前面顯示‘0x’或‘0X’
print ("%#o" % 10)

print ("%010d" % 5)    #表示用0填充空格
print ("%-010d" % 5)   #不會,因爲值改變了

七、序列

#序列:列表,元組和字符串統稱爲序列
#list:把一個可迭代對象變成一個列表

a = list()
print (a)
b = 'i love my brother very much.'
b = list(b)
print (b)
c = (1,1,2,3,5,8,13,21,34)
c = list(c)
print (c)
print (max(c))    #索引
print (max(b))   #返回ASCII碼值最大的

#tuple([iterable]):把一個可迭代對象變成元組
#string(obj)把obj對象轉換成字符串
#len(sub)長度

numbers = [1,2,33,45,66,7,3]     #裏面的數據一定要是同一類型的
print (max(numbers))
print (len(numbers))

tuple1 = (1,2,33,45,66,7,3)
print (max(tuple1))

chars = '1234567890'
print (max(chars))

#sum總和:裏面的數據一定要是同一類型的
print (sum(numbers))

print (sorted(numbers))  #之前的是sort
print (list(reversed(numbers)))
print (list(enumerate(numbers)))

gege = [1,2,3,4,5,6,7,8]
meimei = [4,5,6,7,8]
print (list(zip(gege,meimei)))

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