Python入門記錄1

#編碼格式設置
#coding=utf-8
# -*- coding:UTF-8 -*-

#python縮進需要嚴格執行

#python以新行作爲語句的結束符,也可以使用\講一行語句分爲多行顯示

#語句中包含[],{},()不需要多行連接符

'''
這裏是多行註釋
'''

"""
這裏也是多行註釋
"""

#等待用戶輸入
# input1 = input('等待用戶輸入')
# print(input1)

#同行使用多條語句;
a = 1;b=2;c=3

#print輸出,不換行
print(1,end=' ')

#給多個變量賦值
a=b=c=1
a,b,c=1,2,'abc'

#python標準數據類型:numbersstringlisttupledictionary

#number
number1=1#int
number2=0.1#float
number3=0xD#16進制
number4=0o123#8進制
number5=complex(3.14j)#複數
number6=65e10+12#科學記數
#del可以刪除對象的引用
del number1,number2,number3,number4
#print(number5)可以找到
#print(number1)找不到

#string
#-->右索引默認0開始,右-->左索引默認-1開始
#截取字符串:[頭下標:尾下標]
str5 = "abcdefghijklmnopqrstuvwxyz"
str1 = str5[0:5]
str2 = str5[:-1]#下標爲空表示取到頭或尾
str3 = str1 * 2#*重複才做
str4 = str1 + str2 + "test"#+拼接操作
print(str1)
print(str2)
print(str3)
print(str4)
#r/R沒有轉義或特殊字符
print(r'\n\t\\')

#list,列表,可嵌套,[],有序
lst1 = [1,'a',2]
lst2 = [3,'b',5]
lst3 = [lst1,lst2]
print(lst1)
print(lst1+lst2+lst3)
print(lst3[0:])
lst3[1][2] = 123456
print(lst3[0:])

#tuple,元組,不能二次賦值,()
tuple1=('a',2,'c',555)
tuple2=(1,4,'2')
tuple3=(tuple1,tuple2)
print(tuple3[0:])
#tuple2[0]=1  'tuple' object does not support item assignment
print(tuple2[:-1])

#dictionary,字典,無序,{}
dict1={}
dict1['one']='one'
dict1[2]='two'
dict2={'name':'張宇軍','age':27,'addr':'扶風'}
print(dict1)
print(dict2['age'])
print(dict2.keys())#輸出所有鍵
print(dict2.values())#輸出所有值

#數據類型轉換
x = 3
print(int(x))#轉換爲整數
print(float(x))#轉換爲浮點型
type(x)#查看數據類型
isinstance(x,int)#判斷是否爲一個類型
#type不會認爲子類是一種父類類型,isinstance會認爲子類是一種父類類型
print(complex(x))#創建一個複數
print(str(x))#轉換爲字符串
print(repr(x))#轉換爲表達式字符串
print(chr(x))#整數-->字符
x='5'
print(ord(x))#字符-->整數
x=12
print(hex(x))#整數-->十六進制
print(oct(x))#整數-->八進制

#運算符

# 算術運算符
a=31
b=6
print('a+b='+str(a+b))
print('a-b='+str(a-b))
print('a*b='+str(a*b))
print('a/b='+str(a/b))
print('a%b='+str(a%b))
print('a**b='+str(a**b))#ab次冪
print('a//b='+str(a//b))#a/b的整數

# 比較(關係)運算符2.x:<>也是不等於
print('a==b='+str(a==b))
print('a!=b='+str(a!=b))
print('a>b='+str(a>b))
print('a<b='+str(a<b))
print('a>=b='+str(a>=b))
print('a<=b='+str(a<=b))

# 賦值運算符:=,+=,-=,*=,/=,%=,**=,//=

# 邏輯運算符
if(a and b):
    print("a,b都爲true")
else:
    print("a,b有一個爲false")
if(a or b):
    print("a,b有一個爲true")
else:
    print("a,b都爲false")
if not(a and b):
    print("a,b都爲false")
else:
    print("a,b有一個爲true")

# 位運算符:二進制
#&:按位與,都爲1--1
#|:按位或,都爲0--0
#^:按位異或,不相同--1
#~:按位取反,0--11--0
#<<:左移,高位丟棄,低位補0,冪
#>>:右移,開方

# 成員運算符
lst1 = [1,2,3,4,5,6]
if(b in lst1):
    print("lst1包含b")
else:
    print("lst1不包含b")

# 身份運算符,腳本模式==is等同,交互模式不是
if(a is not b):
    print("ab引用不同")
else:
    print("ab引用相同")

# 運算符優先級
#**
#~,正,負
#算術運算符
#位運算符
#比較運算符
#賦值運算符
#身份運算符
#成員運算符
#邏輯運算符

#條件語句:0nullfalse,不支持switch語句
if a==b :print("a==b")
elif a<b:print("a<b")
else:print("a>b")

#循環語句

#循環控制語句,無限循環用ctrlc跳出循環
#break:終止循環並跳出循環
#continue:終止循環並執行下一次循環
#pass:空語句,保持結構完整性

#while   ;在同一行做語句的結束
i=1
while(i<10):print(i);i+=1
else:print("循環條件爲false")
i=1
while(i<=9):
    j=1
    while(j<=i):
        print(str(j)+"*"+str(i)+"="+str(j*i),end='  ')#不換行
        j+=1
    i+=1
    print()
#for遍歷序列
for letter in 'python':
    print(letter)
for index in range(len('python')):
    print('python'.__getitem__(index))
for num in range(2,999):
    for i in range(2,num):
        if(num%i==0):
            break;
    else:print(str(num)+"是質數")
else:print(num)
#嵌套

#number:改變number數據類型的值,重新分配內存空間
import math #導入math模塊
import keyword #導入關鍵字模塊
import operator #導入operator模塊
import random #導入random模塊
import string #導入string模塊
print(keyword.kwlist)#輸出所有關鍵字
print(abs(-10))#絕對值
print(math.ceil(1.1))#向上取整
print(operator.lt(1,2))#2.xcmp,小於
print(operator.le(1,2))#小於等於
print(operator.eq(1,2))#等於
print(operator.ne(1,2))#不等於
print(operator.gt(1,2))#大於
print(operator.ge(1,2))#大於等於
print(math.exp(12))#exprint(math.fabs(-2.1))#絕對值,不適用於複數
print(math.floor(4.8))#向下取整
print(math.log(100,10))#返回對數
print(math.log10(100))#返回以10爲奇數的100的對數
print(max(2,4))#最大值
print(min(4,2))#最小值
print(math.modf(3.22))#返回整數與小數部分
print(pow(3,4))#3**4
print(round(4.6))#四捨五入
print(math.sqrt(256))#平方根
seq = ['a','b','c','d','e','f','g']
print(random.choice(seq))#從序列中隨機一個
print(random.randrange(start=1,stop=5))
print(random.random())#[0,1)實數
random.shuffle(seq)#序列所有元素隨機排序
print(seq)
print(random.uniform(1,999))#隨機實數
print(math.acos(1))#反餘弦弧度
print(math.atan(1))#反正切弧度
print(math.atan2(1,2))#給定座標的反正切弧度
print(math.cos(1))#餘弦值
print(math.hypot(12,25))#歐幾里德範數sqrt(x^2+y^2)
print(math.sin(1))#正弦值
print(math.tan(1))#正切值
print(math.degrees(1))#弧度-->角度
print(math.radians(20))#角度-->弧度
print(math.asin(1))#反正弦弧度

#%字符串格式化
tuple1 = ('zyj',27,'扶風')
print("名字%s年齡%d家在%s"%tuple1)
# c:格式化字符及ascii# s:格式化字符串
# d:格式化整數
# u:格式化無符號類型
# o:格式化無符號八進制數
# x:格式化無符號十六進制數
# X:格式化無符號十六進制數(大寫)
# f:格式化浮點數字,可指定精度
# e:用科學計數法格式化浮點數
# E:同e
# gfe的簡寫
# G:同g
# p:十六進制格式化變量的地址
# *:定義寬度或者小數點精度
# -:左對齊
# +:在正數前面顯示+
# <sp>:在正數前面顯示空格
# #:在八進制數前顯示0,在十六進制前顯示0x
# 0:在數字前面填充0
# %:輸出%
# (var):映射變量
# m.nm顯示最小總寬度,n小數點後的位數

a = 'abcd'.capitalize()#字符串的第一個字符大寫
print(a)
a = 'abc'.center(6)#返回第一個原字符居中,並用空格填充至長度width的新字符串,長度不足返回原字符串
print(a)
a = 'defdasfds'.count('d')#返回d在字符串中出現的次數
print(a)
a = 'abcd'.endswith('d')#是否以d結束
print(a)
a='\ta\t'.expandtabs(tabsize=1)#tab轉換爲空格
print(a)
a = 'adgdsafdsafe'.find('e')#是否包含,返回索引,不包含返回-1
print(a)
a = 'adfdf'.isalnum()#是否全是數字或字母
print(a)
a = '1fds5'.isalpha()#所有都是字母
print(a)
a='45687'.isdecimal()#Unicode數字,全角數字(雙字節)Errorbyte數字
print(a)
a = 'VI'.isdigit()#Unicode數字,byte數字(單字節),全角數字(雙字節),羅馬數字
print(a)
a = '四五'.isnumeric()#Unicode數字,全角數字(雙字節),羅馬數字,漢字數字,Errorbyte數字
print(a)
a = 'abedef'.islower()#全是小寫
print(a)
a = 'AD'.isupper()#全是大寫
print(a)
a = '              '.isspace()#全是空格
a = '2'
lst1=['a','b','c','d']
a = a.join(lst1)#a爲分隔合併列表元素
print(a)
a = 'aasfddfg'.ljust(8888)#左對齊,右邊空格填充
print(a)
a = '      df  ds a fd s a '
a = a.rstrip()#截掉右邊空格
print(a)
a = a.lstrip()#截掉左邊空格
print(a)
a = a.strip()#截掉左右空格
print(a)
a = max(a)#返回最大字母
print(a)
a = min('dafer')#返回最小字母
print(a)
a = str.zfill('dad',789)#右對齊,0填充
print(a)
a = 'dfeiroowqr'
a = a.upper()#轉換爲大寫
print(a)
a=a.lower()#轉換爲小寫
print(a)
a=a.title()#返回標題化,首字母大寫
print(a)
a = a.swapcase()#翻轉大小寫
print(a)
a = a.startswith('d')#是否以d開頭
print(a)
a = 'dfdsafersafdsafr'
a = str.split(a,'s',2)#分割字符串,可指定次數
print(a)

lst1 = [1,2,3,4,5,6,7,8,9]
print(lst1)
lst1.append('10')#追加元素
print(lst1)
a = lst1.count(1)#出現次數
print(a)
lst1.extend(lst3[0:])#追加序列
print(lst1)
a = lst1.index(4)
print(a)
lst1.pop(3)#移除,默認-1
print(lst1)
lst1.remove(9)#移除第一項
print(lst1)
lst1.reverse()#翻轉
print(lst1)
tuple2 = list(tuple2)#元組轉換爲列表
print(tuple2)

#無關閉分隔符默認爲元組
tuple2 = 1,2.3,'45',5
print(tuple2)
lst1 = tuple(lst1)#轉換爲元組
print(lst1)

#字典的鍵不可重複,不可變,可以是數字,字符串或元組
dict1 = dict2.copy()#淺複製
print(dict1)
dict2.clear()#清空字典
print(dict2)
dict2 = dict.fromkeys(tuple1)#創建一個字典,以序列中元素作爲鍵
print(dict2)
a = dict1.get('name')#根據鍵獲取值
print(a)
a = dict1.items()#獲取元組數組
print(a)
a=dict1.keys()#獲取所有鍵
print(a)
a=dict1.setdefault('job','teacher')#根據鍵獲取值,若鍵不存在,添加鍵並賦值爲default
print(a)
dict1.update(dict2)#dict2的鍵值對更新到dect1
print(dict1)
a = dict1.values()#獲得所有值
print(a)
a = dict1.pop('job')#刪除對應值
print(a)
a = dict1.popitem()#隨機刪除
print(a)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章