python學習(re0)day 1
2019/6/24
一、前言
雖然在去年的離散學習中就已經為了學習和了解Dijkstra算法開始了python的學習,但是時隔半年,對python對語法知識漸漸有了模糊和遺忘.
二、今日學習內容
1)雖然是決定從零開始,但是對于python的基礎語法還是有所認識和了解,但是學習是一個溫故知新的過程,今天上午的學習中,也對我自以為比較熟練的python中的語法有了新的認識,比如用于切分的split的用法,之前的學習中,我只是用來作為,數據處理輸入的分割,把字符串類型的分割輸出.但是在今天上午的學習中,了解到了split函數是根據空格作為標準符來處理分割字符的,而且分割出來的數據類型不再是str而是list(列表類型)
2)
今天學習的主要是python的一些基礎語法和數據類型中的字符串類型(str)
python學習的重點就是了解庫,了解函數的使用,在python中有許多應用都是通過自帶的函數實現的,對于學習和認識字符串就是學習字符串相關的函數.
需要掌握的
1.type函數
用法: type函數來確定數據的類型
test_='abc' print(type(test_)
2.strip函數
用法: 去掉字符串的空格
str1 = ' hello cheng ' print(str1) # 去掉兩邊空格 print(str1.strip()) #去掉左邊空格 print(str1.lstrip()) #去掉右邊空格 print(str1.rstrip())
3.lowper和upper函數
用法: 大小寫的轉換
str1 = 'hello cheng' #轉換成小寫 print(str1.lower()) #轉換成大寫 print(str1.upper())
4.startswith,endswith函數
用法: 判斷開頭或者結尾的字符串的值是否相等,是返回True不是返回Flase
str1 = 'hello cheng' #判斷str1字符開頭是否等于hello print(str1.startswith('hello')) # True #判斷str1字符末尾是否等于cheng print(str1.endswith('cheng')) # True
5.format函數
用法: 格式化輸出
#format(格式化輸出)的三種玩法 str1 = 'my name is %s, my age %s!' % ('cheng', 20) print(str1) #方式一: 根據位置順序格式化 print('my name is {}, my age {}!'.format('cheng', 20)) #方式二: 根據索引格式化 print('my name is {0}, my age {1}!'.format('cheng', 18)) # 方式三: 指名道姓地格式化 print('my name is {name}, my age {age}!'.format(age=18, name='cheng'))
6.split函數
用法: 拆分字符串。通過指定分隔符對字符串進行切片,并返回分割后的字符串列表(list)
test_='a b c' print(test_.split())
7.join函數
用法: 字符串拼接
# join 字符串拼接 # 報錯,只允許字符串拼接 print(' '.join(['cheng', 18])) #根據空格,把列表中的每一個字符串進行拼接 print(' '.join(['cheng', '18', 'from GZ'])) #根據_,把列表中的每一個字符串進行拼接 print('_'.join(['cheng', '18', 'from GZ']))
8.replace函數
用法: 字符串替換
#replace:字符串替換 str1 = 'my name is cheng, my age is 20!' print(str1) str2 = str1.replace('cheng', 'qian') print(str2)
9.isdight函數
用法: 判斷字符串是否為數字
choice = input('請選擇功能[0, 1, 2]: ') 判斷用戶輸入的選擇是否是數字 print(choice.isdigit())
三、總結
今天對我自己而已是第三次從新開始接觸python,在大二上學期的時候為了實現離散數學中的Dijkstra算法,自主學習了python,但是只是了解性質的學習,并不是系統的學習.第二次的學習的契機是在大二下學期的時候為了方便數據結構的算法實現,開始重新學,最后遇到了一些瓶頸,在pta平臺中,用python寫的代碼不能通過最后一個測試點的,因為最后一個測試點是大數據的測試,對于python語言來說需要的內存很多,但是pta中給的內存比較小,往往會產生超出內存的問題.這使得我在學習的后期,逐漸放棄了使用python來完成數據結構中的算法實現.第三次就是今天開始的認知實習,這次機會讓我開始能夠系統得復習和重新學習python這門語言.
四、作業
#homework #author_1704011044 程前 #python_study_day01_homework name=' a1eX' #print(type(name)) #Q1移除name變量對應的值兩邊的空格,并輸出處理結果 print(name.strip()) #Q2判斷name變量對應的值是否以"a1” 開頭,并輸出結果 print(name.startswith("a1")) #Q3判斷name變量對應的值是否以"X”結尾,并輸出結果 print(name.endswith("X")) #Q4將name變量對應的值中的 “1” 替換為“p”,并輸出結果 print(name.split('1')) #Q5將name變量對應的值根據“1” 分割,并輸出結果 new_name=name.replace('1','p') print(new_name) #Q6將name 變量對應的值變大寫,并輸出結果 print(name.upper()) #Q7將name 變量對應的值變小寫,并輸出結果 print(name.lower()) #8請輸出name 變量對應的值的第2個字符 print(name[2]) #9請輸出name 變量對應的值的前3個字符 print(name[0:3]) #10請輸出name變量對應的值的后2個字符 print(name[-2:]) #Q11請輸出name變量對應的值中“e” 所在索引位置? print(name.find('e')) #Q12獲取子序列,去掉最后-一個字符 print(name[:-1])

浙公網安備 33010602011771號