學習python

# 開發(fā)人員: hanhan丶

# 開發(fā)時間: 2020/10/21 14:37

#######################################################################################################

# 將數(shù)據(jù)輸出到文件中

# fp = open('D:/test.txt','a+')? # a+(沒有這個文件的情況下創(chuàng)建這個文件,如果存在就在文件中繼續(xù)添加)

# print('123',file=fp)

# fp.close()

#######################################################################################################

# 轉義字符

# print('hello\nworld')? # \n換行打印

# print('hello\tworld')? # \t代表4組空格

# print('hello\rworld')? # \r之前的全刪掉店枣,輸出world

# print('hello\bworld')? # \b代表退一格,輸出hellworld

# print('大家好:\'我是py\'')? # 單引號中輸出單引號

#######################################################################################################

# 原字符 (不希望專業(yè)字符起作用洽蛀,就使用原字符,在字符串前加上r或R? !!!最后一個字符不能是“\”)

# print(r'hello\nworld')

# print(R'hello\nworld')

#######################################################################################################

# 2進制? 計算機只識別2進制? 一共有2怠苔,8吱七,10刚盈,16

# print(chr(0b100111001011000))? # 0b代表2進制

# print(ord('乘'))? # ord()轉化成10進制

# print(0o777)? # 10進制

# print(0x1EAF)? # 16進制

#######################################################################################################

# 關鍵字

# import keyword

# print(keyword.kwlist)? # 輸出所有關鍵字

#######################################################################################################

# 浮點數(shù)? (因計算機是2進制羡洛,浮點數(shù)計算可能不準確,可以使用一下方法)

# from decimal import Decimal

# print(Decimal('1.1')+Decimal('2.2'))

#######################################################################################################

# str 和 int 之間的類型轉換

# name = 'xuhan'

# age = 18

# print('my name is' + name + ' ' + 'my age is' + ' ' + str(age))

#######################################################################################################

# input()

# a = input('請輸入加數(shù)')

# b = input('請輸入另一個加數(shù)')

# print(int(a)+int(b))

#######################################################################################################

# is is not

# a = 10

# b = 10

# print(a == b)? # 是在比較value

# print(a is b)? # 是在比較id

# print(a is not b)? # a的id和b的id是不相等的嗎

#######################################################################################################

# and or not

# a = 1

# b = 2

# c = True

# d = False

# print(a==1 and b==2)

# print(a==1 and b!=2)

# print(a==1 or b==2)

# print(a==1 or b!=2)

# print(not c)

# print(not d)

#######################################################################################################

# in? not in

# a = 'abcd'

# print('a' in a)

# print('f' in a)

# print('a' not in a)

# print('f' not in a)

#######################################################################################################

# 位運算符

# print(4&8)? # 按位與& 同為1時結果為1

# print(4|8)? # 按位或| 同為0時結果為0

# print(4<<1)? # 向左移動一位(移動一個位置)藕漱,相當于乘以2

# print(4<<2)? # 向左移動兩位(移動兩個位置)欲侮,相當于乘以4

# print(4>>1)? # 向右移動一位(移動一個位置),相當于除以2

# print(4>>2)? # 向右移動兩位(移動兩個位置)肋联,相當于除以4

#######################################################################################################

# if elif else? (多分支結構)

# num = int(input("請輸入金額"))

# if 90<=num<=100:

#? ? print('A')

# elif 80<=num<=89:

#? ? print('B')

# else:

#? ? print('C')

##########################

# if num < 0 or num > 100:

#? ? print('非法數(shù)字')

# elif num <= 59:

#? ? print('不及格')

# else:

#? ? print('及格')

# identity = input('您是會員嗎威蕉?y/n')

# num = int(input('輸入消費金額'))

# if identity == 'y':

#? ? if 100 <= num <= 200:

#? ? ? ? input('ziyuanma')

#? ? ? ? print('打8折')

#? ? elif 0 <= num <= 99:

#? ? ? ? print('打9折')

# elif identity == 'n':

#? ? print('非會員')

#######################################################################################################

# 條件表達式

# a = int(input('輸入a'))

# b = int(input('輸入b'))

# print(str(a) + '大于等于' + str(b) if a >= b else str(a) + '小于' + str(b))

#######################################################################################################

# pass語句,什么都不做只是一個占位符橄仍,用到需要寫語句的地方

# a = input('您是會員嗎韧涨?y/n')

# if a == "y":

#? ? pass

# else:

#? ? pass

#######################################################################################################

# range()的三種創(chuàng)建方式

# 1.第一種創(chuàng)建方式,只有一個參數(shù)(小括號中只有一個數(shù))

# r = range(10)? ? ? ? # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 默認從0開始侮繁,默認相差1虑粥,稱為步長

# print(r)? ? ? ? ? ? # range(0, 10)

# print(list(r))? ? ? # 用于查看range函數(shù)中的整數(shù)序列,

# 2.第二種創(chuàng)建方式鼎天,有兩個參數(shù)

# r = range(1,5)? ? ? ? # 指定了從1開始到5,但不包含5暑竟,默認步長為1

# print(r)? ? ? ? ? ? ? # range(1, 5)

# print(list(r))? ? ? ? # [1, 2, 3, 4]

# 第三種創(chuàng)建方式斋射,有三個參數(shù)

# r = range(1, 10, 2)? # 第一個參數(shù)是起始位置育勺,第二個參數(shù)是結束位置但不包含,第三個是步長

# print(list(r))? # [1, 3, 5, 7, 9]

# print(8 in r)? # False

#######################################################################################################

# 判斷條件表達式? while循環(huán)

# a = 1

# while a <= 4:

#? ? print(a)

#? ? a += a

#######################################################################################################

# 求0-4之間的累加和

# num = 0

# a = 0

# while a <= 4:

#? ? num += a

#? ? a += 1

# print(num)

#######################################################################################################

# 求1-100之間的偶數(shù)和

# num = 0

# a = 0

# while a <= 100:

#? ? if not bool(a % 2):? ? # 因為a%2是fasle罗岖,not 就是取不是false的就是true的

#? ? ? ? num += a

#? ? a += 1

# print(num)

#######################################################################################################

# 求0-100奇數(shù)的和

# num = 0

# a = 0

# while a <= 100:

#? ? if a % 2:? # 這個等于 a%2==0? 因為0就是false? false就進入判斷中

#? ? ? ? num += a

#? ? a += 1

# print(num)

#######################################################################################################

# for in 循環(huán)

# for item in 'xuhan':

#? ? print(item)

# for i in range(10):

#? ? print(i)

# for _ in range(10):? ? # 當你不需要打印每一次的值的時候涧至,可以用 _ 來表示

#? ? print('小徐最帥啦')

#######################################################################################################

# 使用for循環(huán)計算0-100的偶數(shù)累加和

# num = 0

# for item in range(1, 101):

#? ? if not bool(item % 2):

#? ? ? ? num += item

# print(num)

#######################################################################################################

# 使用for循環(huán)算數(shù)0-100基數(shù)的和

# num = 0

# for item in range(1,101):

#? ? if bool(item%2):

#? ? ? ? num+=item

# print(num)

#######################################################################################################

# 使用for循環(huán)算出100-999之間的水仙花數(shù)

# num = 0

# for item in range(100, 1000):

#? ? ge = item % 10? # 個位

#? ? shi = item // 10 % 10? # 十位

#? ? bai = item // 100? # 百位

#? ? if ge ** 3 + shi ** 3 + bai ** 3 == item:

#? ? ? ? num += item

#? ? item += 1

# print(num)

#######################################################################################################

# 流程控制語句break

# 從鍵盤錄入密碼,最多3次桑包,正確結束循環(huán)

# num = 3

# for item in range(1, 4):

#? ? b = input('請輸入密碼')

#? ? if b == '3':

#? ? ? ? print('輸入正確')

#? ? ? ? break

#? ? else:

#? ? ? ? num -= 1

#? ? ? ? print('輸入錯誤請重試,還剩余' + str(num) + '次')

#######################################################################################################

# while循環(huán)執(zhí)行上面的需求

# a = 0

# while a < 3:

#? ? b = input('請輸入密碼')

#? ? if b=='3':

#? ? ? ? print('登陸成功')

#? ? ? ? break

#? ? else:

#? ? ? ? print('密碼錯誤')

#? ? a += 1

#######################################################################################################

# continue語句 用于結束當前循環(huán)南蓬,執(zhí)行下一次循環(huán),通常與分支中的if一起使用

# 要求算數(shù)0-50之間所有5的倍數(shù) 使用continue

# for item in range(1, 51):

#? ? if bool(item % 5):

#? ? ? ? continue

#? ? print(item)

#######################################################################################################

# for 中的 else? while中的else同理

# for item in range(3):

#? ? b = input('請輸入密碼')

#? ? if b == '3':

#? ? ? ? print('輸入正確')

#? ? ? ? break

#? ? else:

#? ? ? ? print('密碼不正確')

# else:

#? ? print('3次機會已經(jīng)用完')

#######################################################################################################

# 輸出一個三行四列的矩形

# for item in range(3):

#? ? for test in range(4):

#? ? ? ? print('*',end="\t")? ? # 不換行輸出

#? ? print() # 換行

#######################################################################################################

# 制作一個99乘法表

# for i in range(1,10):? ? ? ? ? ? # 外行控制的是行數(shù)

#? ? for j in range(1,i+1):? ? ? ? # 內行控制的是打印的個數(shù)

#? ? ? ? print(str(j),'*',str(i),'=',j*i,end="\t")

#? ? print()

#######################################################################################################

# 二重循環(huán)中的break和contiune 只會對本層的循環(huán)有影響對外層的循環(huán)沒有影響

# for i in range(5):

#? ? for j in range(1,11):

#? ? ? ? if j % 2 == 0:

#? ? ? ? ? ? ? #break

# continue

# print(j, end="\t")

# print()

#######################################################################################################

# 列表list

# arr = ['a',1,'b',2,1,9]

# print(arr.index(1,2,5))? # 查找一個數(shù)組中有相同元素的方法

# print(arr.index(1))? ? # 若列表中有多個相同元素哑了,只會返回第一個元素所在的索引

# print(arr)

# print(arr[0])

# print(arr[-4])

#######################################################################################################

# 列表切片

# arr = [10, 20, 30, 40, 50, 60, 70, 80]

# print(arr[1:6:1])? ? ? # start:end:步長赘方,返回新數(shù)組 1是索引,6也是索引弱左,到6停止但不包含6窄陡,1為步長

# print(arr[::-1])? ? ? ? # start和end默認的情況和步長為-1時,數(shù)組倒序

# print(arr[1:0:-1])? ? ? ? # 輸出結果[20] 從索引1開始拆火,步長為一往回走跳夭,到索引為0但是不包含0,就只剩20

#######################################################################################################

# 列表中的 in们镜,not in

# arr = [1,'2',3]

# print(1 in arr)? ? ? ? # True

# print(2 in arr)? ? ? ? # False

# print(1 not in arr)? ? # False

# print(2 not in arr)? ? # True

#######################################################################################################

# 列表中的遍歷? for in 循環(huán)

# arr = [1,'2',3,'4']

# for item in arr:

#? ? print(type(item))

#######################################################################################################

# 列表元素的增加操作

# 1.append() 在列表末尾添加一元素

# 2.extend() 在列表末尾至少添加一個元素

# 3.insert() 在列表的任意位置添加一個元素

# 4.切片? ? ? 在列表任意位置添加至少一個元素

# arr = [1,2,3,4]

# arr2 = [5,6]

# arr.append(arr2)? ? # 不返回新數(shù)組? [1, 2, 3, 4, [5, 6]]? ? !!!常用!!!

# arr.extend(arr2)? ? #? [1, 2, 3, 4, 5, 6]

# arr.insert(1,1.5)? #? [1, 1.5, 2, 3, 4]? 1是索引币叹,1.5是插入的值

# arr[1:] = arr2? ? ? #? [1, 5, 6]? 1是索引,把原數(shù)組的1之后的刪掉模狭,把新數(shù)組的內容添加進去

# print(arr)

#######################################################################################################

# 列表元素的刪除操作

# 1.remove() 一次刪除一個元素颈抚,重復元素只刪除第一個,元素不存在拋出valueError

# 2.pop()? ? 刪除一個指定索引位置上的元素胞皱,指定索引不存在就拋出IndexError邪意,不指定索引刪除列表中最后一個元素

# 3.切片? ? ? 一次最少刪除一個元素,返回新數(shù)組

# 4.clear()? 清空列表

# 5.del? ? ? 刪除列表

# arr = [1,2,3,4,1,5]

# arr.remove(1)? ? ? # 只刪除第一個1 [2,3,4,1,5]

# arr.pop(1)? ? ? ? # 根據(jù)索引刪除[1, 3, 4, 1, 5]

# arr2 = arr[1:3]? ? # 返回新的數(shù)組 [2, 3] 返回的是切掉的內容

# print(arr2)

# arr[1:3] = []? ? ? # 不返回新列表的方法[1, 4, 1, 5]

# arr.clear()? ? ? ? # 清空整個列表[]

# del arr? ? ? ? ? ? # 刪除整個列表NameError: name 'arr' is not defined

# print(arr)

#######################################################################################################

# 列表元素的修改操作

# arr = [1,2,3,4,5]

# arr[1] = 6? ? ? # [1, 6, 3, 4, 5]

# arr[1:3] = [9,5.5,8.032,'a']? ? # [1, 9, 5.5, 8.032, 'a', 4, 5]

# print(arr)

#######################################################################################################

# 列表元素的排序操作

# arr = [1,3.9,5,6,2,4,3,3.4,0.3]

# 1.sort()? 列表排序方法反砌,默認升序排序 不返回新數(shù)組雾鬼。revrese=Ture降序排序

# 2.sorted()? 內置函數(shù),產(chǎn)生新的數(shù)組

# 區(qū)別:sort()對遠列表進行排序宴树,sorted()對新列表進行排序

# arr.sort()? ? ? ? ? ? ? ? # [0.3, 1, 2, 3, 3.4, 3.9, 4, 5, 6]

# arr.sort(reverse=True)? ? # [6, 5, 4, 3.9, 3.4, 3, 2, 1, 0.3] reverse=False就是升序排序

# arr2 = sorted(arr)? ? ? ? # [0.3, 1, 2, 3, 3.4, 3.9, 4, 5, 6]

# arr2 = sorted(arr,reverse=True)? # [6, 5, 4, 3.9, 3.4, 3, 2, 1, 0.3]

# print(arr2)

#######################################################################################################

# 列表生成式( 生成列表的公式)

# arr = [item for item in range(1,10)]? ? # 最終列表存儲的是i

# print(arr)? ? ? ? ? # [1, 2, 3, 4, 5, 6, 7, 8, 9]

#? 生成列表為2策菜,4,6酒贬,8又憨,10

# arr = [i for i in range(2,11,2)]

# arr = [i*2 for i in range(1,6) ]

# print(arr)

#######################################################################################################

# 字典的創(chuàng)建

# obj = {? ? ? ? ? ? ? ? ? ? ? ? # key值必須用引號引起來

#? ? 'a':'12',

#? ? 'b':13

# }

# obj = dict(name='xuhan', age=12)? # key值必須不加引號

# print(obj)

#######################################################################################################

# 字典中獲取數(shù)據(jù)

# 1.[]

# 2.get()

# 區(qū)別:當找一個對象中不存在的key值的時候,【】會返回KeyError,get()會返回None锭吨,輸入默認值的話蠢莺,會返回默認值

# dict = {

#? ? 'name':'xuhan',

#? ? 'age':18

# }

# print(dict['name'])? # 必須加上引號xuhan

# dict = dict(name='xuhan',age=16)

# print(dict['age'])? ? ? # 必須加引號16

# print(dict.get('name'))? # 必須加引號xuhan

# print(dict.get('gender','沒找到但是我默認是男'))? ? # 當沒有找到查找的key值的時候,返回默認值

#######################################################################################################

# key 的判斷

# dict = dict(name='xuhan', age=16)

# print('name' in dict)? ? ? ? ? ? # True

# print('name' not in dict)? ? ? ? # False

# 字典元素的刪除

# dict = dict(name='xuhan', age=16)

# del dict['name']? ? ? # {'age': 16} 刪除指定的鍵值對 key:value

# dict.clear()? ? ? ? ? # {} 清空字典

# print(dict)

# 字典元素的新值

# dict = dict(name='xuhan', age=16)

# dict['gender'] = '男'

# print(dict)

# 字典元素的修改

# dict = dict(name='xuhan', age=16)

# dict['name']='xuhan23'

# print(dict)

# 獲取字典視圖的3個方式

# dict = dict(name='xuhan', age=16)

# print(dict.keys())? ? ? # dict_keys(['name', 'age'])? ? type為dict_keys

# print(dict.values())? ? # dict_values(['xuhan', 16])? ? type為dict_values

# print(dict.items())? ? # dict_items([('name', 'xuhan'), ('age', 16)])? ? type為dict_items

# 字典元素的遍歷

# dict = dict(name='xuhan', age=16)

# for i in dict:

# print(i)? ? # name age

# print(dict[i]) # xuhan 16

# print(dict.get(i)) # xuhan 16

# 字典生成式

# obj = ['name', 'age', 'gender']

# val = ['xuhan', 18, '男']

# dict = {obj.upper(): val for obj, val in zip(obj, val)}? ? # {'NAME': 'xuhan', 'AGE': 18, 'GENDER': '男'} upper()變大寫? zip()打包壓縮

# print(dict)

#######################################################################################################

# 不可變序列和可變序列

# 可變序列 列表 字典? 內存地址不會更改

# arr = [1,2,3]

# print(id(arr))? ? # 2084900910528

# arr.append(4)

# print(id(arr))? ? # 2084900910528

# 不可變序列 字符串 元組? 內存地址發(fā)生更改

# font = 'ni'

# print(id(font))? ? # 1640823668336

# font = font + 'hao'

# print(id(font))? ? # 1640824975792

#######################################################################################################

# 元組

# 創(chuàng)建元組

# a = (1,2,'3',4.4)? # 第一種創(chuàng)建方式零如,使用()

# a = tuple((4, 5, '6', 7.7))? # 第二種創(chuàng)建方式躏将,使用內置函數(shù)tuple()

# a = (1,)? ? ? ? # 若括號中只有一個數(shù)據(jù)的時候锄弱,結尾必須加上逗號

# print(a)

#######################################################################################################

# 元組為什么是不可變的

# tuple = (1,[2,3],4)

# tuple[1] = 5? ? # TypeError: 'tuple' object does not support item assignment

# tuple[1].append(6)? ? # (1, [2, 3, 6], 4) 可以append因為列表是可變的,但是不能修改元組祸憋,元組是不可變的

# print(tuple)

#######################################################################################################

# 元組的遍歷

# tuple = (1,23,56,8)

# for item in tuple:

#? ? print(item)

#######################################################################################################

# 集合? 可變類型序列 無序的会宪,經(jīng)過hash模式

# 集合的創(chuàng)建方式

# a = {1,2,3,1,2,3}? ? # 使用{}創(chuàng)建,只有key蚯窥,沒有value? {1, 2, 3}? 自動過濾重復的元素? 無序

# a = set(range(6))? ? ? # 使用set()內置函數(shù)創(chuàng)建? ? {0, 1, 2, 3, 4, 5}? 自動過濾重復的元素? 無序

# a = set([1,1,2,2,3,3])? ? # {1, 2, 3}? 可以將列表中的元素轉化成集合中的元素? 自動過濾重復的元素? 無序

# a = set((1,1,2,2,3,3,4))? ? # {1, 2, 3, 4}? 可以將元組中的元素轉化成集合中的元素? 自動過濾重復的元素? 無序

# a = set('helloeeee world')? ? # {' ', 'w', 'o', 'l', 'd', 'r', 'e', 'h'} 可以將字符串中的元素轉化成集合中的元素? 自動過濾重復的元素? 無序

# a = set({1,2,3,1,2,3})? ? # {1, 2, 3}

# print(a)? ? # {1, 2, 3} 集合中的元素不可以重復

#######################################################################################################

# 定義一個空集合

# a = set()

# print(type(a))? ? #

#######################################################################################################

# 集合元素的判斷操作in not in

# a = {1,3,5,7,9}

# print(1 in a)

# print(1 not in a)

# print(2 in a)

# print(2 not in a)

#######################################################################################################

# 集合元素的新增操作add() update()

# a = {1,2,3,4,5,6}

# a.add(1.7)? ? # {1, 2, 3, 4, 5, 6, 1.7}? 添加一個

# a.update({1,6,9})? # {1, 2, 3, 4, 5, 6, 9}? 自動過濾重復的元素 列表 元組都可以添加? 添加多個

# a.update('123',[8.6,5.2],(789,'da'))? ? # {1, 2, 3, 4, 5, 6, '1', 8.6, '2', 5.2, 789, 'da', '3'}

# a.update(560)? ? # TypeError: 'int' object is not iterable

# print(a)

#######################################################################################################

# 集合元素的刪除操作

# 1.remove()一次刪除一個指定元素

# 2.discard()一次刪除一個指定元素

# 3.pop()一次只刪除第一個元素

# 4.clear()清空集合

# a = {1,2,3,4,5,6}

# a.remove(2)? ? # {1, 3, 4, 5, 6}

# a.remove(7)? ? # KeyError: 7? 沒有這個元素會拋出異常

# a.discard(5)? ? # {1, 2, 3, 4, 6}

# a.discard(7)? ? # {1, 2, 3, 4, 5, 6}? 沒有這個元素不會拋出異常

# a.pop()? ? ? # {2, 3, 4, 5, 6} 只能刪除第一個元素掸鹅,不能添加參數(shù)

# a.clear()? ? # set()

# print(a)

#######################################################################################################

# 集合間的關系

# 判斷兩個集合是否相等

# a = {1, 2, 3, 5, 8}

# b = {2, 3, 8, 5, 1}

# print(a==b)? ? #? True 因為序列是無序的

# print(a!=b)? ? # False

#######################################################################################################

# 判斷一個集合是否是另一個集合的子集

# a = {1,2,3,4,5,6}

# b = {2,5,1}

# c = {1,2,4,9}

# print(b.issubset(a))? ? # True

# print(c.issubset(a))? ? # False

#######################################################################################################

# 判斷一個集合是否是另一個集合的超集

# a = {1,2,3,4,5,6}

# b = {2,5,1}

# c = {1,2,4,9}

# print(a.issuperset(b))? # True

# print(a.issuperset(c))? # False

#######################################################################################################

# 判斷兩個集合是否沒有交集

# a = {1,2,3,4,5,6}

# b = {2,5,1}

# c = {98,8,7}

# print(a.isdisjoint(b))? # False? 語法意思是是否沒有交集 返回False就是有交集

# print(c.isdisjoint(a))? # True? 返回True就是沒有交集

#######################################################################################################

# 集合的數(shù)學操作

# 1.交集

# a = {1,2,3}

# b = {2,3,4}

# print(a.intersection(b))? ? # {2, 3}

# print(a & b)? ? # {2, 3} "&" 求交集的符號

# 2.并集

# a = {1,2,3}

# b = {2,3,4}

# print(a.union(b))? # {1, 2, 3, 4}

# print(a | b)? ? # {1, 2, 3, 4}? "|" 求并集的符號

# 3.差集

# a = {1, 2, 3}

# b = {2, 3, 4}

# print(a.difference(b))? # {1}

# print(b.difference(a))? # {4}

# print(a - b)? # "-" 求差集的符號

# print(b - a)

# 4.對稱差集

# a = {1, 2, 3}

# b = {2, 3, 4}

# print(a.symmetric_difference(b))? # {1, 4}

# print(b.symmetric_difference(a))? # {1, 4}

# print(a ^ b)? # {1, 4}? "^" 求對稱差集的符號

#######################################################################################################

# 集合生成式

# a = {1,2,3}

# b = { i for i in range(6)}

# print(type(b))? ? # 無序的 !@乖N∩场!

#######################################################################################################

# 字符串的創(chuàng)建與駐留機制

# a = 'a'

# b = 'a'

# c = 'a'

# print(id(a))? # 2247003362736

# print(id(b))? # 2247003362736

# print(id(c))? # 2247003362736

#######################################################################################################

# 字符串的查詢

# a = 'abcdefgabcdefg'

# print(a.index('q'))? # 查到字符串第一次出現(xiàn)的位置 如果沒有返回ValueError: substring not found

# print(a.find('q'))? # 查到字符串第一次出現(xiàn)的位置 如果沒有返回-1

# print(a.rindex('b'))? # 8 查到字符串最后一次出現(xiàn)的位置 如果沒有返回ValueError: substring not found

# print(a.rfind('b'))? # 8 查到字符串最后一次出現(xiàn)的位置 如果沒有返回-1

#######################################################################################################

# 字符串大小寫轉換的方法

# 1.upper()轉成大寫

# 2.lower()轉成小寫

# 3.swapcase()把所有大寫的元素轉換成小寫的矛紫,把所有小寫的轉化成大寫的

# 4.title()把每個單詞的首字符變成大寫赎瞎,其余的變成小寫

# 5.capitalize()把一個字符轉換成大寫其余轉換成小寫

# a = 'abcdefgabcdefg'

# c = 'AbCdEfG'

# d = 'adSDl Adas lDF'

# b = a.upper()? # 轉成大寫之后會產(chǎn)生一個新的字符串對象

# print(a)? ? # abcdefgabcdefg

# print(b)? ? # ABCDEFGABCDEFG

# print(b.lower())? ? # abcdefgabcdefg 轉成小寫之后會產(chǎn)生一個新的字符串對象

# s = c.swapcase()? # 把所有大寫的元素轉換成小寫的,把所有小寫的轉化成大寫的

# print(s)? ? # aBcDeFg

# x = d.title()? # 把每個單詞的首字符變成大寫颊咬,其余的變成小寫

# print(x)? ? # Adsdl Adas Ldf

# j = d.capitalize()? ? # 把一個字符轉換成大寫其余轉換成小寫

# print(j)? # Adsdl adas ldf

#######################################################################################################

# 字符串內容對齊的方法

# 1.center()居中對齊务甥,第一個參數(shù)指定寬度,第二個參數(shù)指定填充符喳篇,第二個參數(shù)是可選的敞临,默認是空格,如果設置的寬度小于實際寬度則返回原字符串

# 2.ljust()左對齊麸澜,第一個參數(shù)指定寬度挺尿,第二個參數(shù)指定填充符,第二個參數(shù)是可選的炊邦,默認是空格编矾,如果設置的寬度小于實際寬度則返回原字符串

# 3.rjust()右對齊,第一個參數(shù)指定寬度馁害,第二個參數(shù)指定填充符窄俏,第二個參數(shù)是可選的,默認是空格碘菜,如果設置的寬度小于實際寬度則返回原字符串

# 4.zfill()右對齊凹蜈,左邊用0填充,該方法只接收一個參數(shù)忍啸,用于指定字符串的參數(shù)仰坦,如果設置的寬度小于實際寬度則返回原字符串

# a = 'hello world'

# print(a.center(20,'*'))? # ****hello world*****? 字符串長度是11,用(20-11)/2就是兩邊各占的字符

# print(a.ljust(20,'*'))? # hello world*********? ? 全部填充到右邊

# print(a.rjust(20,'*'))? # *********hello world? ? 全部填充到左邊

# print(a.zfill(20))? ? ? # 000000000hello world

# print('-8989'.zfill(8))? # -0008989? 會加在-號的后面计雌,算上-號一共8位

#######################################################################################################

# 字符串劈分操作

# 1.split()從字符串左側開始劈分嘿般,默認劈分空格尝偎,返回的值是一個列表酗捌,通過參數(shù)sep指定分隔符,

# 通過參數(shù)maxsplit指定劈分字符串時最大的劈分次數(shù)鼠渺,經(jīng)過最大的劈分之后,剩余的字符串都會單獨作為一部分眷细。

# 2.rsplit()從字符串右側開始劈分,默認劈分空格鹃祖,返回的值是一個列表溪椎,通過參數(shù)sep指定分隔符,

# # 通過參數(shù)maxsplit指定劈分字符串時最大的劈分次數(shù)恬口,經(jīng)過最大的劈分之后校读,剩余的字符串都會單獨作為一部分。

# a = 'name xuhan age 18'

# b = a.rsplit()? # ['name', 'xuhan', 'age', '18']

# print(b)

# b = a.split()? ? # ['name', 'xuhan', 'age', '18']

# print(b)

# a = 'name$xuhan$age$18'

# b = a.split(sep='$')? ? # ['name', 'xuhan', 'age', '18'] sep="" 確定分割符

# b = a.split(sep="$",maxsplit=1)? ? # ['name', 'xuhan$age$18'] maxsplit分割的段數(shù)

# print(b)

#######################################################################################################

# 判斷字符串操作方法

# 1.isidentifier()判斷是不是合法的字符串

# 2. isspace()判斷指定的字符串是否全部由空白字符組成(回車祖能,換行歉秫,水平制表符)

# 3. isalpha()判斷指定的字符串是否全由字母組成

# 4. isdecimal()判斷指定的字符串是否全部由十進制的數(shù)字組成

# 5. isnumeric()判斷指定的字符串是否全部數(shù)字組成

# 6. isalnum()判斷指定的字符串是否全部由字母和數(shù)字組成

# print('我愛你abc123_'.isidentifier())? # True

# print('\t'.isspace())? # True

# print('asd123'.isalpha())? # False

# print('徐晗'.isalpha())? # True

# print('452'.isdecimal())? # True

# print('1237891223'.isnumeric())? # True

# print('12378一二'.isnumeric())? # True

# print('12378一二'.isalnum())? # True

# print('1237!8一二'.isalnum())? # False

#######################################################################################################

# 字符串操作的其他方法

# 1.replace() 第一個參數(shù)是你要替換誰,第二個參數(shù)是你要替換后的內容养铸,第三個參數(shù)是設定替換的次數(shù)

# 2.join()將列表或元組中的的字符串合并為一個字符串

# a = 'hello xuhan'

# print(a.replace('hello','zuishuai'))? # zuishuai xuhan

# print(a.replace('xu','han'))? # hello hanhan

# b = 'xu han han han'

# print(b.replace('han','6',2))? # xu 6 6 han

# list = ['123','456']

# a = ('dasd','xuhan')

# print(''.join(list))? # 123456

# print('@'.join(list))? # 123@456

# print('*'.join(a))? # dasd*xuhan

# print('^'.join('xuhanzuishuaila'))? # x^u^h^a^n^z^u^i^s^h^u^a^i^l^a

#######################################################################################################

# 字符串的比較操作

# 1.運算符>,>=,<,<=,==,!=? ord是查看原始值的雁芙,也就是原始值的比較 chr是用原始值查看本身值的,ord的反轉

# 2.==和is的區(qū)別? ==比較的是值是否相等 is比較的是id是否相等

# print('old'>'older')? # False

# print('red'>'green')? # 114>103 True

# print(ord('r'),ord('g'))? # 114 103

# print(chr(97),chr(98))? # a b 97就是a的原時值钞螟,98就是b的原始值

# print(ord('徐'))? # 24464

# print(ord('晗'))? # 26199

# print(chr(24464),chr(26199))? # 徐 晗

# a = b = 'xuhan'

# c = 'xuhan'

# print(a==b)? # True

# print(a==c)? # True

# print(b==c)? # True

# print(a is b)? # True

# print(a is c)? # True

# print(b is c)? # True

# print(id(a))? # 1896614936304

# print(id(b))? # 1896614936304

# print(id(c))? # 1896614936304

#######################################################################################################

# 字符串的切片操作

# 字符串是不可變的類型兔甘,不具備增,刪鳞滨,改等操作洞焙,切片操作將產(chǎn)生新的對象

# a = 'hello,china'

# b = a[:5]

# c = a[6:]

# d = b + '&' + c

# print(d)? # hello&china

# print(a[1:5:2])? # el

# print(a[::2])? # hlocia是0 2 4 6 8 10怎么結的,步長為2拯啦,間隔就是1

# print(a[::1]) # hello,china,步長為1間隔就是0

# print(a[::-1])? # anihc,olleh? 元素倒置

# print(a[-5:])? # china

#######################################################################################################

# 格式化字符串

# 1.%占位符

# 2.{}占位符

# 3.f-string占位符

# name = '徐晗'

# age = 18

# gender = '男'

# print('我叫%s,今年%d' % (name,age))? # 只能用%s和%d? 我叫徐晗,今年18

# print('我叫{0}澡匪,今年{1},性別{2}'.format(name,age,gender))? # 我叫徐晗褒链,今年18唁情,性別男? {0}代表的索引

# print(f'我叫{name},今年{age}碱蒙,性別{gender}')? # 我叫徐晗荠瘪,今年18,性別男

# print('%7d' % 7)? # '? ? ? 7' 7代表寬度? 總寬度是7

# print('%.2f' %? 3.982)? # 3.98赛惩,f代表小數(shù)哀墓,.2代表要保留2位小數(shù)

# print('%9.2f' % 8.63214)? # '? ? 8.63' 同時加寬度和保留小數(shù)的方法? 總寬度是9,保留3位小數(shù)

# print('{0:.3}'.format(3.1415926))? # 3.14? .3表示的是一共輸出3位數(shù) 0是占位符

# print('{0:.3f}'.format(3.1415926))? # 3.142? .3f表示的是保留3位小數(shù)? 0是占位符

# print('{0:10.3f}'.format(3.1415926))? # ’? ? 3.142‘? .3f表示的是保留3位小數(shù)? 0是占位符 10代表一共占10位

#######################################################################################################

# 字符串的編碼轉換

# 編碼

# s = '海上升明月'

# print(s.encode(encoding='GBK'))? # 在GBK這種模式中 一個中文占兩個字節(jié)? b'\xba\xa3\xc9\xcf\xc9\xfd\xc3\xf7\xd4\xc2'? b表示2進制喷兼,后面表示1個字占兩個字符

# print(s.encode(encoding='UTF-8')) # 在UTF-8這種模式中 一個中文占三個字節(jié)b'\xe6\xb5\xb7\xe4\xb8\x8a\xe5\x8d\x87\xe6\x98\x8e\xe6\x9c\x88'

# 解碼

# a = '我本將心向明月篮绰,可耐明月照溝渠'

# b = a.encode(encoding='GBK')

# print(b.decode(encoding='GBK'))? # 我本將心向明月,可耐明月照溝渠

# b = a.encode(encoding='UTF-8')

# print(b.decode(encoding='UTF-8'))? # 我本將心向明月季惯,可耐明月照溝渠

#######################################################################################################

# 函數(shù)的創(chuàng)建和調用

# def fun(a,b):

#? ? c = a+b

#? ? return c

# cale = fun(1,2)

# print(cale)

#######################################################################################################

# 函數(shù)的參數(shù)傳遞

# 1.順序傳參

# 2.關鍵字傳參

# def fun(a,b):

#? ? c = a+b

#? ? return c

# func = fun(3,6)

# print(func)

# def fun(a,b):

#? ? c = a+b

#? ? return c

# func = fun(b=8,a=6)? # a:6 b:8? # 只有在調用的時候賦值才是關鍵字傳參

# print(func)

#######################################################################################################

# 函數(shù)的返回值

# 1.如果函數(shù)沒有返回值(函數(shù)執(zhí)行完畢之后吠各,不需要給調用處提供數(shù)據(jù))臀突,return可以省略不寫

# 2.函數(shù)的返回值如果是1,直接返回原類型(是列表就返回列表是元組就返回元組)

# 3.函數(shù)的返回值如果是多個贾漏,返回的類型是一個元組

# 用函數(shù)寫一個100以內返回奇數(shù)偶數(shù)的方法

# def fun(num):

#? ? event = []

#? ? odd = []

#? ? for i in num:

#? ? ? ? if i%2==0:

#? ? ? ? ? ? event.append(i)

#? ? ? ? else:

#? ? ? ? ? ? odd.append(i)

#? ? return event,odd

# a = fun(range(0,101))

# print(a)

# 沒有返回值的情況

# def fun():

#? ? print('你今天有點怪啊')

# fun()

# 返回值為1的

# def fun(a):

#? ? a.append(5)

#? ? return a

# b = fun([4,3])? ? # [4, 3, 5]

# print(b)

# a = input('lol')

# if a=='1':

#? ? print('True')

# else:

#? ? print('false')

# 函數(shù)參數(shù)定義

# 1.個數(shù)可變的位置參數(shù)

# 2.個數(shù)可變的關鍵字參數(shù)

# def fun(*res):? # 函數(shù)定義時 可變的位置參數(shù)

#? ? print(res)

# fun(10)? ? # (10,)

# fun(10,50)? ? # (10, 50)

# fun(10,50,80)? ? # (10, 50, 80)

# def fun(**res):

#? ? print(res)

# fun(a=1,b=2)? ? # {'a': 1, 'b': 2}

# fun(a=3)? ? # {'a': 3}

# fun(a="77",b=3.1415,c=range(0,1))? ? # {'a': '77', 'b': 3.1415, 'c': range(0, 1)}

# 變量的作用域

# def fun():

#? ? global age? ? # 函數(shù)內部定義的變量候学,使用global聲明之后就變成了全局變量

#? ? age = 18

#? ? print(age)

# fun()

# 遞歸函數(shù)

# def fun(n):

#? ? if n == 1:

#? ? ? ? return 1

#? ? else:

#? ? ? ? return n * fun(n-1)

#

# print(fun(7))

# 遞歸實現(xiàn)斐波那契數(shù)列

# def fun(n):

#? ? if n==1:

#? ? ? ? return 1

#? ? elif n==2:

#? ? ? ? return 1

#? ? else:

#? ? ? ? res = fun(n-1)+fun(n-2)

#? ? ? ? return res

# # print(fun(6))? ? # 8

# for i in range(1,7):

#? ? print(fun(i))? # 1 1 2 3 5 8

#######################################################################################################

# 練習

# age = input('請輸入您的真實年齡')

# if age >= '18':

#? ? print('你成年了')

# else:

#? ? print('未成年')

# for i in range(3):

#? ? name = input('用戶名')

#? ? password = input('密碼')

#? ? if name == 'xuhan' and password == '123':

#? ? ? ? print('success')

#? ? ? ? break

#? ? else:

#? ? ? ? print('Error')

# else:

#? ? print('3ci')

# arr = [

#? ? {'name': '張三豐', 'age': 108, 'gender': '女'},

#? ? {'name': ['張無忌','a'], 'age': 6, 'gender': '男'},

#? ? {'name': ['張宇航', 'a'], 'age': 18, 'gender': '男'}

# ]

# answer = input('請輸入你要搜索的內容')

# for item in arr:

#? ? nameArr = item['name']

#? ? if answer in nameArr:

#? ? ? ? print(answer, '的年齡是', item['age'])

#######################################################################################################

# try except

# try:

#? ? a = int(input('請輸入一個整數(shù)'))

#? ? b = int(input('請輸入一個整數(shù)'))

#? ? print(a / b)

# except ZeroDivisionError:

#? ? print('0不能作為除數(shù)')

# except ValueError:

#? ? print('不能是字符串')

#######################################################################################################

# try...except...else

# 如果try中的代碼沒有出現(xiàn)異常執(zhí)行else中的代碼,如果出現(xiàn)異常執(zhí)行except中的代碼

# try:

#? ? a = int(input('請輸入一個整數(shù)'))

#? ? b = int(input('請輸入一個整數(shù)'))

#? ? c = a / b

# except BaseException as e:

#? ? print(e)

# else:

#? ? print(c)

#######################################################################################################

# try...except...else...finally

# finally塊中的代碼纵散,無論是否異常都會執(zhí)行梳码,通常用來釋放try中申請的資源

# try:

#? ? a = int(input('請輸入一個整數(shù)'))

#? ? b = int(input('請輸入一個整數(shù)'))

#? ? c = a / b

# except BaseException as e:

#? ? print(e)

# else:

#? ? print(c)

# finally:

#? ? print('歡迎下次光臨')

#######################################################################################################

# traceback模塊的使用

# import? traceback

# try:

#? ? print(10/0)

# except:

#? ? traceback.print_exc()

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市伍掀,隨后出現(xiàn)的幾起案子掰茶,更是在濱河造成了極大的恐慌,老刑警劉巖蜜笤,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件濒蒋,死亡現(xiàn)場離奇詭異,居然都是意外死亡把兔,警方通過查閱死者的電腦和手機沪伙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來县好,“玉大人焰坪,你說我怎么就攤上這事∑傅耄” “怎么了某饰?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長善绎。 經(jīng)常有香客問我黔漂,道長,這世上最難降的妖魔是什么禀酱? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任炬守,我火速辦了婚禮,結果婚禮上剂跟,老公的妹妹穿的比我還像新娘减途。我一直安慰自己,他們只是感情好曹洽,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布鳍置。 她就那樣靜靜地躺著,像睡著了一般送淆。 火紅的嫁衣襯著肌膚如雪税产。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音辟拷,去河邊找鬼撞羽。 笑死,一個胖子當著我的面吹牛衫冻,可吹牛的內容都是我干的诀紊。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼隅俘,長吁一口氣:“原來是場噩夢啊……” “哼渡紫!你這毒婦竟也來了?” 一聲冷哼從身側響起考赛,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莉测,沒想到半個月后颜骤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡捣卤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年忍抽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片董朝。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡鸠项,死狀恐怖,靈堂內的尸體忽然破棺而出子姜,到底是詐尸還是另有隱情祟绊,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布哥捕,位于F島的核電站牧抽,受9級特大地震影響,放射性物質發(fā)生泄漏遥赚。R本人自食惡果不足惜扬舒,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凫佛。 院中可真熱鬧讲坎,春花似錦、人聲如沸愧薛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毫炉。三九已至府瞄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背遵馆。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工鲸郊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人货邓。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓秆撮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親换况。 傳聞我的和親對象是個殘疾皇子职辨,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內容