国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python入門(mén)之一
  • python是一種解釋行,面向?qū)ο蟮膭?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言,在1989年發(fā)明;
    • 解釋型:開(kāi)發(fā)過(guò)程中沒(méi)有編譯這個(gè)環(huán)節(jié),類似于shell;
    • 交互型:支持python提示符,互動(dòng)執(zhí)行程序;
    • 面向?qū)ο?支持面向?qū)ο蟮娘L(fēng)格或者代碼封裝在對(duì)象的編程技術(shù);
  • python的特點(diǎn):
    • 易于學(xué)習(xí):關(guān)鍵字相對(duì)較少,結(jié)構(gòu)簡(jiǎn)單;
    • 易于閱讀:Python代碼閱讀清晰;
    • 擁有廣泛的標(biāo)準(zhǔn)庫(kù);
    • 可移植性好;
    • 可擴(kuò)展性好:可以使用其他的代碼來(lái)擴(kuò)充這部分代碼;
    • 支持多種GUI 變成以及系統(tǒng)調(diào)用;
    • 支持將Python代碼嵌入到C/C++程序中;
  • 缺點(diǎn):
    • 運(yùn)行速度慢:和C程序相比非常慢,Python屬于解釋性語(yǔ)言,代碼在執(zhí)行時(shí)會(huì)一行一行翻譯成CPU機(jī)器代碼,翻譯過(guò)程十分耗時(shí);
    • 代碼不能夠加密:解釋型語(yǔ)言只能夠發(fā)布源碼,不像C語(yǔ)言發(fā)布成二進(jìn)制的可執(zhí)行文件;
  • 注釋
  • 代碼的注釋使用#進(jìn)行注釋;
  • 多行注釋使用'''注釋多行 ''',寫(xiě)代碼時(shí),不應(yīng)該存在中文字符;
  • 同樣的'''注釋多行''';
  • 輸出
  • print:打印雙引號(hào)之間的內(nèi)容;
print('hello world')
  • 1
  • 如果需要打印多條信息,可以使用,進(jìn)行分割
print('hi python','hello python')
  • 1
  • 輸出的結(jié)果是
  • 輸出數(shù)字以及運(yùn)算
print(19)print(10 + 8)print('10 + 8 ', 18)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 輸出的結(jié)果是
  • 輸入
  • input:用于從標(biāo)準(zhǔn)輸入獲取變量的值
age=input('please input your age ')print('age = ', age)
  • 1
  • 2
  • 3
  • 4
  • 輸出的結(jié)果為

  • Python的數(shù)據(jù)類型

  • number:

  • 整數(shù):Python可以處理任意大小的整數(shù),同時(shí)也包括負(fù)整數(shù),在程序中的寫(xiě)法和數(shù)學(xué)表達(dá)是一致的;

  • 連續(xù)定義多個(gè)變量

num1 = 10num3 = num2 = num1 //這樣變量的地址是一樣的num6,num7 = 6,6這兩個(gè)變量的地址也是一樣的;print(id(num2),id(num3));93941385645920 93941385645920
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 浮點(diǎn)數(shù):浮點(diǎn)數(shù)由整數(shù)部分和小數(shù)部分組成,浮點(diǎn)數(shù)運(yùn)算可能會(huì)丟失精度;
float1 = 1.1float2 = 2.30000print(type(float1))print(float1+float2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 結(jié)果為

  • 復(fù)數(shù):表示的實(shí)數(shù)部分和虛數(shù)部分組成;

  • 數(shù)值類型轉(zhuǎn)換:

print(int(1.9))print(int('123'))print(int('+123'))print(int('-112'))
  • 1
  • 2
  • 3
  • 4
  • 常見(jiàn)的數(shù)學(xué)函數(shù)
  • abs():用于返回某個(gè)數(shù)的絕對(duì)值;
  • print((num2>num3)-(num2<num3)):用于表示比較這兩個(gè)數(shù)的大小,返回值為1 0 -1;
  • max(arg1,arg2,arg3..):用于返回給定參數(shù)的最大值;
  • min(arg1,arg2,arg3..):用于返回給定參數(shù)的最小值;
  • pow(x,y):用于計(jì)算x^y的結(jié)果;
  • round(x,y):表示保留y位,x的值,省略表示的就是只保留整數(shù)位;
  • math庫(kù):數(shù)學(xué)運(yùn)算相關(guān)的庫(kù);
  • math.ceil(18.1):表示向上取整;
  • math.flooe():表示向下取整;
  • math.modf(22.3):用于將一個(gè)數(shù)拆分為整數(shù)[浮點(diǎn)型]部分和小數(shù)部分;
  • math.sqrt():表示用于開(kāi)平方;
print(max(num2,num3))print(min(num2,num3))print(pow(num2,num3))print(round(3.456,1))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 隨機(jī)數(shù):
print(random.choice([1,3,5,7,9,'aa'])) //在這些數(shù)里面選出隨機(jī)數(shù)print(random.choice(range(5)))print(random.choice('sunck'))print(random.choice(range(100))+1)print(random.randrange(1,100,2)) //1-->100生成隨機(jī)數(shù)[包含1,但是不包含100],步長(zhǎng)為2;print(random.randrange(100)) //start默認(rèn)是0,步長(zhǎng)默認(rèn)為1print(random.random()) //隨機(jī)生成[0,1)之間的浮點(diǎn)數(shù);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 將列表中的元素進(jìn)行隨機(jī)排序
list = [1,2,3,4,5]random.shuffle(list)print(list)
  • 1
  • 2
  • 3
  • 4
  • 顯示的結(jié)果為

  • 隨機(jī)生成實(shí)數(shù)
random.uniform(3,9) //范圍是[3,9]
  • 1
  • 隨機(jī)數(shù)小程序
import randomnum = int(input('please input your number '))res = random.choice(range(100)) + 1if num == res:    print('you are lucky')else:    print('not you')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • string: 表示字符串,python里面沒(méi)有字符的概念;
  • 字符串是以單引號(hào)或者雙引號(hào)引用的任意文本,引號(hào)本身不是數(shù)據(jù);
str1 = 'hello today'str2 = 'hello tomorrow'
  • 1
  • 2
  • 字符串運(yùn)算:
  • +:用于連接字符串
str1 = 'hello today 'str2 = 'hello tomorrow'print(str1)str3 = str1 + str2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • *:表示字符串的多次輸出,也就是拼接
str3 = 'oo 'print(str3*3)
  • 1
  • 2
  • []用于獲取某個(gè)單個(gè)字符
str1 = 'hello today 'str2 = 'hello tomorrow'print(str1[1])str1[1]='a'         //字符串不可變?cè)瓌t,所以一定會(huì)出錯(cuò);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 截取字符串
str2 = 'hello tomorrow,it's a new day'print(str2[2:14])print(str2[:13])print(str2[10:])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 顯示的的結(jié)果
  • 關(guān)于in的使用
str2 = 'hello tomorrow,it's a new day'print('hello' in str2)print('hi' in str2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 輸出的結(jié)果
  • 轉(zhuǎn)義字符
  • \n:用于表示換行;
print('num = %d \nstr = %s\nfnum =%f ' %(num,str1,fnum2))print('today is \\n a new day')print('today is a \'new\' day')print('today is a 'new' day')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 如果需要打印多行,使用
print('''today is a goodday''')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • \t:表示制表符,默認(rèn)是4個(gè)空格
print('today is a \t good day')
  • 1
  • r:如果字符串中,存在很多字符進(jìn)行轉(zhuǎn)義,為了簡(jiǎn)化,允許使用r表示內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義
print(r'\\\\t\\\\')
  • 1
  • eval():用于將字符串當(dāng)成有效的表達(dá)式來(lái)求值,并且返回計(jì)算結(jié)果,用于將字符串轉(zhuǎn)換成整數(shù)不能夠用于處理字母;
num = eval('1234')print(num)print(type(num))num = eval('12+34')print(num)print(type(num)) //輸出結(jié)果為46
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • len():用于返回字符個(gè)數(shù),并不計(jì)算字節(jié)個(gè)數(shù)
print(len('today is a new day'))
  • 1
  • lower(str):轉(zhuǎn)換字符串中的大寫(xiě)字母為小寫(xiě)字母
str2 = 'Hello tomoRRow,it's a new day'print(str2.lower()) //并不改變?cè)凶址?
  • 1
  • 2
  • 3
  • upper():將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母
print(str2.upper())
  • 1
  • swapcase():用于將大寫(xiě)轉(zhuǎn)換為小寫(xiě),用于將小寫(xiě)轉(zhuǎn)換為大寫(xiě)
print(str2.swapcase())
  • 1
  • capitalize():只有將首字母大寫(xiě),其他字母都是小寫(xiě)
print(str2.capitalize())Hello tomorrow,it's a new day
  • 1
  • 2
  • 3
  • title():每個(gè)單詞的首字母大寫(xiě)
print(str2.title())Hello Tomorrow,It'S A New Day
  • 1
  • 2
  • 3
  • center(width,filechar):表示寬度和填充字符
print(str1.center(40,'*'))**************hello today**************
  • 1
  • 2
  • ljust():表示進(jìn)行左對(duì)齊,默認(rèn)是空格填充
print(str1.ljust(20,'%'))hello today%%%%%%%%%
  • 1
  • 2
  • 3
  • rjust():表示返回一個(gè)指定長(zhǎng)度的字符串,是右對(duì)齊,默認(rèn)使用空格填充
print(str1.rjust(20,'*'))*********hello today
  • 1
  • 2
  • 3
  • zfill():返回指定字符串的長(zhǎng)度,字符串右對(duì)齊,默認(rèn)使用0進(jìn)行填充
print(str1.zfill(20))000000000hello today
  • 1
  • 2
  • 3
  • count(str[,start][,end]):可以用于在指定字符串的位置中查找指定字符串出現(xiàn)的位置
str2 = 'Hello tomotoRRow,it's a new day'print(str2.count('to',5,len(str2)))2
  • 1
  • 2
  • 3
  • 4
  • 5
  • find(str[,start][,end[):用于查找指定字符串重做開(kāi)始第一次出現(xiàn)的位置,如果不存在就返回-1
str2 = 'Hello tomotoRRow,it's a new day'print(str2.find('to',7,len(str2)))10
  • 1
  • 2
  • 3
  • 4
  • 5
  • rfind():用法和上面一樣,表示從由向左進(jìn)行查找
print(str2.rfind('to'))10
  • 1
  • 2
  • 3
  • index(str,start=0,end-len=(str)):用法和上面一樣,如果指定字符串不存在,就會(huì)報(bào)錯(cuò);
str2 = 'Hello tomotoRRow,it's a new day'print(str2.index('too'))Traceback (most recent call last): File '/root/PycharmProjects/test/first.py', line 5, in <module> print(str2.index('too'))ValueError: substring not found
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • rindex():表示從右向左進(jìn)行查找,如果找不到,就會(huì)出錯(cuò)

  • lstrip():用于去掉字符串左側(cè)指定的字符,默認(rèn)為空格

str2 = '*******Hello tomotoRRow,it's a new day'print(str2.lstrip('*'))Hello tomotoRRow,it's a new day
  • 1
  • 2
  • 3
  • 4
  • split(' ',num):表示按照某個(gè)關(guān)鍵字將字符串進(jìn)行切割,如果指定num表示截取指定的num個(gè)字符串;
string1 = 'today is a new day, but where are you'string2 = string1.split(' ')wordnum = 0for i in string2: if len(i) > 0: wordnum +=1print(wordnum)9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • splitlines(true | false):表示按照\r, \r\n, \分隔,true表示返回?fù)Q行符,false表示不返回?fù)Q行符;
string1 = '''today   is    an new  day, but where are youthe next day is an new day hello tomorrow'''print(string1.splitlines())print(string1.splitlines(True))['today   is    an new  day, but where are you', 'the next day is an new day ', 'hello tomorrow']['today   is    an new  day, but where are you\n', 'the next day is an new day \n', 'hello tomorrow\n']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • join:用于將列表組合成為字符串
list1 = ['today is an new day, but where are you', 'the next day is an new day ', 'hello tomorrow']string1 = '\n'.join(list1)print(string1)today is an new day, but where are youthe next day is an new day hello tomorrow
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • max():表示用于返回字符串里面的最大值;
  • min():表示用于返回字符串里面的最小值,按照ASCII進(jìn)行比較;
  • replace(old,new,count):表示要替換的值,替換的值,替換的次數(shù),默認(rèn)進(jìn)行全部替換,如果指定了count,那么只進(jìn)行前count的替換;
string1 = 'today is an new day'string2 = string1.replace('an','a',1)print(string2)
  • 1
  • 2
  • 3
  • 4
  • maketrans('映射前','映射后'):表示創(chuàng)建字符串映射表,是一張表,每個(gè)字符對(duì)應(yīng)進(jìn)行替換,是按照字符為單位的,替換前后的字符數(shù)必須相等;
  • translate():表示執(zhí)行上面的映射
string1 = str.maketrans('an', '6o')string2 = 'today is an an an an new day'string3 = string2.translate(string1)print(string3)tod6y is 6o 6o 6o 6o oew d6y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 這種替換較少使用;

  • startwith('str', num1, num2):表示從num1num2進(jìn)行查找,是否是以str開(kāi)頭的字符串,如果沒(méi)有指定范圍,默認(rèn)是整個(gè)字符串;

string2 = 'today is an an an an new day'print(string2.startswith('an', 3, 10))False
  • 1
  • 2
  • 3
  • 4
  • endwith('str',num1,num2):使用同上,用于判斷是否是str結(jié)尾的
  • 編碼:
  • encode('utf-8,'ignore')
string2 = 'today is an an an an new day'data = string2.encode('utf-8')print(data)print(type(data))解碼string3 = data.decode('utf-8')print(string3)b'today is an an an an new day'today is an an an an new day
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 解碼和編碼必須使用同樣的格式,否則會(huì)出錯(cuò);

  • isalpha():表示如果字符串中至少有一個(gè)字符,并且所有的字符都是字母,但會(huì)True,否則返回False;

  • isalnum:表示字符串中至少有一個(gè)字符,并且所有的字符都是字母或者數(shù)字返回True,否則返回False;

  • isupper():表示字符串中至少有一個(gè)英文字符,且所有的英文字符必須都是大寫(xiě)的英文字母,返回True,否則返回False,如果包含數(shù)字也會(huì)返回True

  • islower():表示字符串中至少一個(gè)英文字符,并且所有的英文字符必須都是小寫(xiě)的英文字符;

  • istitle():表示如果字符串是標(biāo)題化的就返回True,否則就是返回False,標(biāo)題化表示單詞的第一個(gè)字母必須是大寫(xiě);

  • isdigit():如果字符串只包含數(shù)字,返回True,否則返回False;

  • isnumeric():字符串中只包含數(shù)字字符,返回為True;

  • isdecimal():字符串中只包含十進(jìn)制字符;

  • isspace():如果字符串中只包含空格,返回True,否則返回False;

  • rstrip():作用和上面的一樣

  • ord():用于將字母轉(zhuǎn)換成為ACSII

  • chr():用于將某些ASCII轉(zhuǎn)換成為值;

  • 字符串進(jìn)行比較的規(guī)則:

    • 某個(gè)字符串的ASCII的大,那么就是比第二個(gè);
    • 如果相等,就會(huì)比較下一個(gè)字符的ASCII;
  • boolean:用于表示true以及false,有且只有這兩種值,

  • None:是一個(gè)特殊值,但是不能夠使用0來(lái)進(jìn)行表示;

  • list

  • 列表用于存儲(chǔ)更多的數(shù)據(jù) ,列表表示一組有序的集合,并且允許時(shí)不同的類型

age = []print(age)[]age = [12, 23, 34, 45]print(age)[12, 23, 34, 45]list1 = [1, 2, 'sunck', True]print(list1)[1, 2, 'sunck', True]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 取值和替換:對(duì)于元素的訪問(wèn)從0開(kāi)始,并且訪問(wèn)不能夠越界;
list1 = [1, 2, 'sunck', True]print(list1[1])list1[1] = 12print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 層級(jí)嵌套 不能夠超過(guò)3
  • 列表操作
list2 = age + list1print(list2)
  • 1
  • 2
  • 列表重復(fù)
print(age * 3)[12, 23, 34, 45, 12, 23, 34, 45, 12, 23, 34, 45]
  • 1
  • 2
  • 3
  • 判斷元素是否在列表中
print(12 in age)
  • 1
  • 列表截取
list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]print(list2[2:6])print(list2[2:])print(list2[:6])[3, 4, 5, 6][3, 4, 5, 6, 7, 8, 9][1, 2, 3, 4, 5, 6]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 二維列表
list33 = [[1,2,3],[4,5,6],[7,8,9]]print(list33[1][1])
  • 1
  • 2
  • 列表方法
  • append:表示在末尾一次性追加另一個(gè)列表中的多個(gè)值;
list1 = [1, 2, 3, 4, 5]list1.append(6)print(list1)list1.append([7, 8, 9])print(list1)[1, 2, 3, 4, 5, 6][1, 2, 3, 4, 5, 6, [7, 8, 9]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 追加的是一個(gè)列表中的元素
list1 = [1, 2, 3, 4, 5]list1.extend([6, 7, 8])print(list1)[1, 2, 3, 4, 5, 6, 7, 8]
  • 1
  • 2
  • 3
  • 4
  • 5
  • insert: 在下標(biāo)處,添加一個(gè)元素,將列表當(dāng)做一個(gè)元素來(lái)處理
list1 = [1, 2, 3, 4, 5]list1.insert(3, 100)print(list1)[1, 2, 3, 100, 4, 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 插入的是一個(gè)列表
list1 = [1, 2, 3, 4, 5]list1.insert(3, [100, 200])print(list1)[1, 2, 3, [100, 200], 4, 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • pop(x=list[-1]):默認(rèn)表示列表最后一個(gè)元素被彈走,可以指定下標(biāo)移除指定元素,并且返回刪除的數(shù)據(jù)
list1 = [1, 2, 3, 4, 5]print(list1[-1])5list1.pop()print(list1)[1, 2, 3, 4]list1.pop(2)print(list1)[1, 2, 4]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • remove():表示用于刪除指定元素第一個(gè)匹配的結(jié)果,首先會(huì)查找指定元素的值
list1 = [1, 2, 3, 4, 4, 4, 5]list1.remove(4)print(list1)[1, 2, 3, 4, 4, 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • clear():用于刪除列表中的所有元素
list1 = [1, 2, 3, 4, 4, 4, 5]list1.clear()print(list1)[]
  • 1
  • 2
  • 3
  • 4
  • 5
  • index():表示從列表中找出第一個(gè)匹配的索引
list1 = [1, 2, 3, 4, 4, 4, 5]print(list1.index(3))print(list1.index(4, 2, 7))23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • len():用于獲取列表里面的元素個(gè)數(shù)
list1 = [1, 2, 3, 4, 4, 4, 5]print(len(list1))
  • 1
  • 2
  • max():用于獲取列表中的最大值;
  • min():用于獲取列表中的最小值;
  • count():用于查詢某個(gè)元素出現(xiàn)的次數(shù);
  • reverse():用于進(jìn)行列表的倒序;
  • sort():默認(rèn)進(jìn)行升序排序;
  • 關(guān)于淺拷貝與深拷貝
list1 = [1, 2, 3, 4, 4, 4, 5]list2 = list1list2[3] = 300print(list2)print(list1)print(id(list1))print(id(list2))[1, 2, 3, 300, 4, 4, 5][1, 2, 3, 300, 4, 4, 5]140657342356296140657342356296
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 棧區(qū):程序結(jié)束,自動(dòng)釋放程序空間;
  • 堆區(qū):手動(dòng)申請(qǐng),手動(dòng)釋放,普通變量保存在棧區(qū);
  • 淺拷貝的地址結(jié)構(gòu)
  • 由于執(zhí)行的是淺拷貝,棧區(qū)list27list28里面保存的是堆區(qū)里面的同一段地址空間的首地址0x100,其實(shí)訪問(wèn)的是同一片地址空間;
  • 深拷貝
list1 = [1, 2, 3, 4, 4, 4, 5]list2 = list1.copy()list2[3] = 300print(list2)print(list1)print(id(list1))print(id(list2))[1, 2, 3, 300, 4, 4, 5][1, 2, 3, 4, 4, 4, 5]140278067989320140278067987720
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 深拷貝表示的是內(nèi)存拷貝,

  • 元組轉(zhuǎn)換為列表

list2 = list((1, 2, 3, 4, 5))print(list2)[1, 2, 3, 4, 5]
  • 1
  • 2
  • 3
  • 4
  • 分解質(zhì)因數(shù)的小程序
num = int(input())i = 2list1 = []if num == 1: print(1)while num != 1: if num % i == 0: list1.append(i) num //= i else: i += 1print(list1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • ** tuple**
  • 表示元組,元組和列表的不同之處在于,元組里面的元素不能夠進(jìn)行修改,但是可以進(jìn)行元組的組合;
  • 創(chuàng)建元組
tuple2 = (1, 2, 3, 4, 'hello', True)
  • 1
  • 對(duì)于只有一個(gè)元素的元組
tuple1 = (1, )
  • 1
  • 元組的訪問(wèn),下標(biāo)從0開(kāi)始,并且不允許越界;
print(tuple2[3])  //下標(biāo)為 0print(tuple2[-1])  //用于獲取最后一個(gè)元素 [-2]表示倒數(shù)第二個(gè)元素
  • 1
  • 2
  • 對(duì)于這樣一種情況是可以進(jìn)行修改的.也就是對(duì)于元組里面存在可修改的列表時(shí),是可以進(jìn)行修改的;
tuple2 = (1, 2, 3, 4, 5, [7, 8, 9])tuple2[-1][0] = 50print(tuple2)(1, 2, 3, 4, 5, [50, 8, 9])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 元組表示的是元組里面的數(shù)據(jù)不可變,但是列表中的數(shù)據(jù)是可以進(jìn)行改變的;
  • 刪掉元組
del tuple2
  • 1
  • 元組的操作
  • +:表示相加
print(tuple2 + tuple1)(1, 2, 3, 4, 5, [50, 8, 9], 1, 2, 3, 4)
  • 1
  • 2
  • 3
  • *:表示乘法
tuple3 = (1, 2, 3)print(tuple3 * 3)(1, 2, 3, 1, 2, 3, 1, 2, 3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • in: 判斷元素是否在元組里面
tuple3 = (1, 2, 3)print( 1 in tuple3)
  • 1
  • 2
  • 元組的截取:從開(kāi)始下標(biāo)開(kāi)始截取,結(jié)束到結(jié)束下標(biāo)之前;
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)print(tuple1[3:])print(tuple1[3:5])print(tuple1[:5])(4, 5, 6, 7, 8, 9)(4, 5)(1, 2, 3, 4, 5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 二維元組
tuple2 = ((1, 2, 3, 4),(1, 2, 3, ),(1, 2, 3, ),(4, 5, 6, ))print(tuple2[1][1])
  • 1
  • 2
  • 3
  • 元組的方法
  • len():用于返回元組里面元素的個(gè)數(shù)
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
  • 1
  • max():用于返回元組里面的最大值
print(max(tuple1))
  • 1
  • 將列表轉(zhuǎn)換成元組
list1 = [1, 2, 3, 4, 5]tuple2 = tuple(list1)print(tuple2)(1, 2, 3, 4, 5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 元組的打印
for i in tuple2: print(i)
  • 1
  • 2
  • dictionary
  • 表示字典,使用鍵值的存儲(chǔ)形式,具有快速的查找速度,key-value,對(duì)于key
    的要求:
    • 首先key必須是唯一的;
    • key:必須是不可變的對(duì)象;
    • 字符串,整數(shù)都必須是不可變的,可以作為key;
    • list是可變的,不能夠作為key
  • 字典的創(chuàng)建
dict1 = {'tom':60, 'xiaoxiao':90, 'houhou':100}
  • 1
  • 通過(guò)key來(lái)訪問(wèn)value,通過(guò)這種方式取值,如果值不存在,就會(huì)報(bào)錯(cuò);
print(dict1['jerry'])
  • 1
  • 大多數(shù)情況下是通過(guò)下面這種方式來(lái)取值的,因?yàn)槿绻〉闹挡淮嬖?不會(huì)進(jìn)行報(bào)錯(cuò),方便進(jìn)行返回值的判斷;
print(dict1.get('houhouo'))
  • 1
  • 添加
dict1['cat'] = 99 //如果字典里面內(nèi)部存在就是添加dict1['jerry'] = 90 //字典里面存在就是修改
  • 1
  • 2
  • 刪除
dict1.pop('houhou')         //刪除的前提是必須存在
  • 1
  • 遍歷
dict1 = {'tom':60, 'jerry':90, 'houhou':100}print(dict1.get('houhouo'))dict1['cat'] = 99dict1['jerry'] = 90for key in dict1: print(key, dict1[key])for value in dict1.values(): print(value)for key, value in dict1.items(): print(key, value)for key, values in enumerate(dict1): print(key, values)0 tom1 jerry2 houhou3 cat
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • dictionary
    • 字典的存儲(chǔ)一般是無(wú)序的;
    • list相比,查找和插入的速度是極快的,不會(huì)隨著key-value的增加而變慢;
    • dict在存儲(chǔ)數(shù)據(jù)時(shí),還需要存儲(chǔ)序號(hào),會(huì)導(dǎo)致內(nèi)存浪費(fèi);
  • list
    • 查找和插入的速度會(huì)隨著數(shù)量的增多而減慢;
    • 占用內(nèi)存小,內(nèi)存浪費(fèi)??;
  • 一個(gè)用于查詢字符串中的關(guān)鍵字
w = 'the'str = 'this is a good day, hello the new day, the the a and what the weather;'d = {}list = str.split(' ')print(list)for value in list:    need = d.get(value)    if need == None:        d[value] = 1    else:        d[value] += 1print(d[w])print(d)w = 'the'str = 'this is a good day, hello the new day, the the a and what the weather;'d = {}list = str.split(' ')print(list)for value in list:    need = d.get(value)    if need == None:        d[value] = 1    else:        d[value] += 1print(d[w])print(d)['this', 'is', 'a', 'good', 'day,', 'hello', 'the', 'new', 'day,', 'the', 'the', 'a', 'and', 'what', 'the', 'weather;']4{'what': 1, 'good': 1, 'and': 1, 'day,': 2, 'this': 1, 'is': 1, 'the': 4, 'new': 1, 'hello': 1, 'a': 2, 'weather;': 1}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • set:表示集合;

  • 標(biāo)識(shí)符

  • 標(biāo)識(shí)符是字符串,但是字符串未必是標(biāo)識(shí)符;

  • 標(biāo)識(shí)符遵守的規(guī)則:

    • 只能夠通過(guò)字母,數(shù)字,下劃線組成;
    • 開(kāi)頭不能夠使數(shù)字;
    • 不能夠使Python的關(guān)鍵字和保留字;
    • 標(biāo)識(shí)符對(duì)于大小寫(xiě)敏感;
    • 見(jiàn)名知意
    • Python3中,允許使用非ASCII來(lái)定義標(biāo)識(shí)符;
  • 表示符是用來(lái)給變量和函數(shù)進(jìn)行命名的;

  • 查看關(guān)鍵字

import keywordprint(keyword.kwlist)
  • 1
  • 2
  • 3
  • 顯示的結(jié)果
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 1
  • 變量和常量
  • 變量表示可以操作的存儲(chǔ)空間名稱,還表示程序運(yùn)行期間能夠改變的數(shù)據(jù),對(duì)于每個(gè)變量來(lái)說(shuō)都存在特定的類型;變量是用來(lái)將不同類型的數(shù)據(jù)保存在內(nèi)存里面;
    • 定義變量:name = 初始值,初始值是為了確定變量的類型,變量的類型根據(jù)初始值確定的;
    • 數(shù)據(jù)的存儲(chǔ)是變量名 = 數(shù)據(jù)值,這個(gè)是用來(lái)存儲(chǔ)數(shù)據(jù)值的;
    • 變量在使用之前必須進(jìn)行定義,否則會(huì)出錯(cuò);
  • 一個(gè)簡(jiǎn)單的求和程序
number1 = int(input('please input a number'))number2 = int(input('please input a number '))print('the sum is ',number1+number2)
  • 1
  • 2
  • 3
  • 4
  • 顯示結(jié)果為

  • 刪除變量

  • del name,刪除之后,變量無(wú)法引用,用于釋放內(nèi)存空間;

del number1del number2
  • 1
  • 2
  • 查看變量的類型
print(type(number1))<class 'int'>
  • 1
  • 2
  • 查看變量的地址
print(id(age))140043296231312    //變量的首地址
  • 1
  • 2
  • 常量:程序運(yùn)行期間不能夠改變的數(shù)據(jù),成為常量

  • 運(yùn)算符和表達(dá)式

  • 表達(dá)式:由變量,常量和運(yùn)算符組成的式子;

  • 算術(shù)運(yùn)算表達(dá)式不會(huì)改變變量的值,

  • 運(yùn)算符:

  • 算術(shù)運(yùn)算符:+ - * /,%取模,**求冪,//取整;
    賦值運(yùn)算符:=,格式是變量 = 表達(dá)式,計(jì)算了等號(hào)右側(cè)的表達(dá)式的值并且賦值給等號(hào)左側(cè)的變量;

  • 復(fù)合運(yùn)算符:+= -= /= %= **= //=

  • 位運(yùn)算符:將數(shù)值當(dāng)做二進(jìn)制數(shù)來(lái)進(jìn)行運(yùn)算;

    • &:表示按位與運(yùn)算符,如果按位進(jìn)行運(yùn)算,兩個(gè)值都為1,結(jié)果為1,否則為0;
    • |:表示二進(jìn)制位有一個(gè)為1時(shí),結(jié)果為1;
    • ^:表示按位異或運(yùn)算符,兩個(gè)二進(jìn)制位不同時(shí),結(jié)果為1;
    • ~:表示按位取反運(yùn)算符;
    • <<:表示二進(jìn)制位向左移動(dòng)幾位,高位丟棄,低位補(bǔ)0;
0000 0000 0000 00100000 0000 0000 1000
  • 1
  • 2
* `>>`:表示各個(gè)二進(jìn)制向右移動(dòng)幾位,低位丟棄;
  • 1
  • 關(guān)系運(yùn)算符和關(guān)系運(yùn)算表達(dá)式的結(jié)果是truefalse

  • == != > < >= <=

  • 邏輯運(yùn)算符:

  • 表達(dá)式1 and 表達(dá)式2:雙真為真;

  • 表達(dá)式1 or 表達(dá)式2:一個(gè)為真,就是真;

  • not 表達(dá)式:真為假,假為真;

  • 成員運(yùn)算符

  • in:如果在指定的序列中,找到的指定的值,返回值為true,否則為false;

  • not in:如果在指定的序列中,沒(méi)有找到的指定的值,返回值為true,否則為false;

  • 身份運(yùn)算符

  • is:判斷兩個(gè)標(biāo)識(shí)符是不是引用同一個(gè)對(duì)象;

  • is not:判斷兩個(gè)標(biāo)識(shí)符是不是引用不同的對(duì)象;

  • 運(yùn)算符優(yōu)先級(jí)

  • ** --> ~ + - --> * / % // --> + - --> << >> --> & --> ^ | --> < > <= >= --> == != --> = --> is --> in --> not or and

  • 判斷語(yǔ)句

if 表達(dá)式: 語(yǔ)句else: 語(yǔ)句
  • 1
  • 2
  • 3
  • 4
  • 當(dāng)程序執(zhí)行到if 語(yǔ)句時(shí),首先計(jì)算表達(dá)式的值,并且得到表達(dá)式的真假,表達(dá)式為真,執(zhí)行if語(yǔ)句 ,如果表達(dá)式為假,則跳過(guò)if語(yǔ)句,向后執(zhí)行;

  • 假:0 以及 0.0 或者 '' 再或者 False;

  • 其余都為真;

  • 判斷三位的水仙花數(shù)

num1 = int(input('please input a number '))a = num1 % 10b = num1 //10 % 10c = num1 //100if num1 == a**3 + b**3 + c**3:    print('yes')else:    print('no')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 三個(gè)數(shù)取最大值
max = num1if num2 > max: max = num2if num3 > max: max = num3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 循環(huán)
  • while循環(huán)
while 表達(dá)式:	語(yǔ)句
  • 1
  • 2
  • 表達(dá)式的結(jié)果為真,執(zhí)行語(yǔ)句,執(zhí)行完成語(yǔ)句之后,再次計(jì)算表達(dá)式的值,繼續(xù)進(jìn)行判斷,知道為假;
while i < 100: sum += i i += 1print('down')print(sum)while index < len(string1) - 1: print(string1[index]) index += 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • if-elif-else語(yǔ)句
if 表達(dá)式1:	語(yǔ)句elif 表達(dá)式2:	語(yǔ)句2	.	.	.else:	語(yǔ)句n
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 每個(gè)elif都是對(duì)上面條件的否定;
  • 循環(huán)語(yǔ)句
  • 死循環(huán):表示表達(dá)式永遠(yuǎn)為真的循環(huán);
while 表達(dá)式: 語(yǔ)句1else: 語(yǔ)句2
  • 1
  • 2
  • 3
  • 4
  • 執(zhí)行的邏輯是:在表達(dá)式語(yǔ)句為false,會(huì)執(zhí)行else:中的語(yǔ)句2;
  • for循環(huán)語(yǔ)句:
for 變量名 in 集合:	語(yǔ)句
  • 1
  • 2
  • 按照順序取集合中的每個(gè)元素復(fù)制給變量,然后執(zhí)行語(yǔ)句,知道取完集合中的元素;
  • range():列表生成器,用于生成數(shù)列,表示范圍[0,n);
for i in range(2,20,2): 開(kāi)始位置默認(rèn)為0,結(jié)束位置,步長(zhǎng)默認(rèn)為1 print(i)
  • 1
  • 2
  • 獲取下標(biāo)
for index, i in enumerate([1, 2, 3, 4, 5]):    print(index, i)
  • 1
  • 2
  • break:用于跳出forwhile的循環(huán),只能跳出距離最近的那一層循環(huán);
  • continue:用于跳過(guò)當(dāng)前循環(huán)的剩余語(yǔ)句,然后繼續(xù)下一次循環(huán),同樣只能夠跳過(guò)最近的一次循環(huán);
  • turtle:是一個(gè)簡(jiǎn)單的繪圖工具
  • done():用于保持程序不結(jié)束;
  • forward():表示向前移動(dòng),原點(diǎn)默認(rèn)是從中間開(kāi)始的;
  • backward():表示向后移動(dòng);
  • right():
  • left()
  • goto(x,y):移動(dòng)到坐標(biāo)為x,y的位置
  • speed():表示移動(dòng)的速度;
  • up:表示在移動(dòng)過(guò)程中,不畫(huà)圖
  • down():表示開(kāi)始劃線
  • setheading():改變朝向
  • pencolor():用于表示顏色
  • pensize():用于表示粗細(xì)
  • reset():用于清空窗口,重置turtle狀態(tài)
  • clear():表示清空窗口,但是不會(huì)重置turtle
  • circle():表示用于繪制圓形,或者是五邊形
  • 關(guān)于填充
  • turtle.begin_fill()
  • turtle.fillcolor('blue'):表示填充什么顏色
  • turtle.end_fill():表示結(jié)束填充
  • undo():表示撤銷生一次動(dòng)作;
  • hideturtle():表示隱藏海龜
  • showtutle():表示用于顯示海龜
  • screensize():表示更改顯示的屏幕大小
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python基礎(chǔ)知識(shí)點(diǎn)總結(jié)
入門(mén)python,看完這個(gè)300行代碼的例子,你們會(huì)喜歡的~
typing庫(kù):讓你的代碼閱讀者再也不用猜猜猜
Python變量的定義和使用
小白必學(xué)教程:Python變量的定義和使用
Python3 教程 字符串
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服