Python基礎(二):程序基本組成

Python程序基本組成

1.Python中的註釋

  • 單行註釋 使用#

  • 多行註釋使用三個單引號或者三個雙引號

    '''
    註釋內容
    '''"""
    註釋內容
    """

2.Python中的輸出

print輸出:

  • print語法形式 :print 表達式1,表達式2,表達式3,……,表達式n;使用“+”連接;可以使用反引號轉譯`

    注意:print 在對字符串使用 +號時是連接,在對數值使用+號時是加號執行的是加法運算

    輸入:
    num1 = raw_input("請輸入數字1:")
    num2 = raw_input("請輸入數字2:")
    result = int(num1)+int(num2)
    intNum1 = int(num1)
    intNum2 = int(num2)
    print "字符串連接是:",num1+num2
    print "數值連接是:",intNum1+intNum2
    輸出:
    請輸入數字13
    請輸入數字24
    字符串連接是: 34
    數值連接是: 7

    
    ## 直接都是字符串
    
    str1 = '罰抄'
    str2 = '3'
    str3 = '遍'
    print str1+str2+str3
    
    str1 = '罰抄'
    str2 = 3
    str3 = '遍'
    
    ##使用反引號轉義
    
    print str1+`str2`+str3
    
    ##使用string方法進行數據類型轉換
    
    print str1+str(str2)+str3
  • 格式化輸出:print “提示字符 格式化 提示話” 常用的 %s %d %f ;佔位符寬度可以指定;

    print "%[-][number][.number][s,d,f]"%("variable")

    示例如下:

    
    #1.字符串佔位符 %s
    
    print "His name is %s"%"jack"
    
    #2.整數佔位符 %d
    
    print "He is %d years old"%20
    
    #3.浮點佔位符 %f
    
    print "His weight is %f kg"%180.2
    print "His weight is %.3f kg"%180.2
    
    #4.指定佔位符寬度 通過%[-左對齊][數值指定寬度]s
    
    print "Name:%10s Age:%8d Height:%8.2f"%("jack",25,183)
    
    #使用左對齊 “-”打印格式統一好看
    
    
    #  print "%[-][number][.number][s,d,f]"%("variable")
    
    print "Name:%-10s Age:%-8d Height:%-8.2f"%("jackoqdfa",25,183)
    print "Name:%-10s Age:%-8d Height:%-8.2f"%("jacsafk",25,183)
    print "Name:%-10s Age:%-8d Height:%-8.2f"%("jasdddsack",25,183)
    print "Name:%-10s Age:%-8d Height:%-8.2f"%("zxck",25,183)

    輸出內容:

    His name is jack
    He is 20 years old
    His weight is 180.200000 kg
    His weight is 180.200 kg
    Name:      jack Age:      25 Height:  183.00
    Name:jackoqdfa  Age:25       Height:183.00  
    Name:jacsafk    Age:25       Height:183.00  
    Name:jasdddsack Age:25       Height:183.00  
    Name:zxck       Age:25       Height:183.00  
  • print3打印必須是帶括號print()

format():讓格式輸出更清晰

print "{0} is {1} years old".format("jack",20)
print "{1} is {0} years old".format(20,"jack")
輸出:
jack is 20 years old
jack is 20 years old
輸入:
boy  = ["jack",20]
girl = ["Miki",18]
print "{0[0]} is {0[1]} years old,{1[0]} is {1[1]} years old ".format(boy,girl)
輸出:
jack is 20 years old,Miki is 18 years old

進階設置佔位符大小和居中:

#設置格式化,把三個變量指定寬度
"{:20}\t{:28}\t{:32}".format("asdfa","asdf","sds")
#設置格式化,把三個變量指定寬度,並設置爲居中
"{:^20}\t{:^28}\t{:^32}".format("asdfa","asdf","sds")

3.Python中的輸入

raw_input()輸入使用:

*得到的是字符串

input():讀取一個合法的python表達式:只進行數學計算時可以使用。否者用raw_input();

num3 = input("10+5:")
print(type(num3))
print(num3)
輸出:
10+5:10+5
<type 'int'>
15

在Python3中input()接收字符串類型了;所以一般用raw_input();

4.Python容器數據類型

List,Tuple,Dictionary,Set 四個;

1.列表–List []

列表可以存儲多個不同類型的數據

  1. 列表創建:一個簡單創建,一個通過list(xxx)來進行創建,對字符串創建非常有效;

    list1 = ['h','e','l','l','o']
    print list1
    list2 = list('hello')
    print list2
  2. 列表訪問:1.使用index訪問:list[index]

    list[0]
  3. 更新列表:list.append(xxx) 只能追加一個對象

    list1.append(5)
  4. 刪除列表:

    • del list[index] 刪除某一個;
    • del list[index1:index2] 刪除一個區間【index1~index2】的數據;
    • del list 刪除整個list列表,在內存中釋放;
    • del list[:] 清空整個list數據
    del list4[:] #清空列表內容 或者 del list4[0:len(list4)]
    print list4
    輸出:[]
  5. 列表腳本操作符

    • len([1,2,3])

    • [1,2,3]+[4,5,6]

      輸出:[1,2,3,4,5,6]
    • ['Hi!']*4 對string類型也可以 :'hello'*4;'2'*4

      分別輸出:
      ['Hi!', 'Hi!', 'Hi!', 'Hi!']
      hellohellohellohello
      2222
    • 3 in [1,2,3] 輸出bool:True

  6. 多維數據讀取:list[0][0]

    list[[1,2,3],[4,5],[6,[7,8]],[9]]
    print list[2][1][1]
  7. 列表索引,切片list[-2:]

2.元組–Tuple ()

與列表類似,元組的元素不能修改; 變量名 = ();只有一個值的元組要有一個逗號

  1. 創建元組:

    tup1 = (1,2,'abc') #直接括起來
    tup2 = 'a','b','c',1  #不用括號直接創建元組 極端時可以是 a = "a", 這個後面有個逗號也是元組
    
    #通過tuple() 函數把某種數據轉換爲元組
    
    tup3 = tuple('hello')
    tup4 = tuple([1,2,3])
    tup5 = tuple((4,5,6))
  2. 訪問元組:

    • 使用下表訪問某一個元素tup1[index];使用切片方式訪問一個區間元素tup1[index1:index2]
    • 格式化輸出用到的也是元組:
    print "小張今年%d歲,是個耿直%s"%(20,'boy')
  3. 修改元組:元組內容不可以修改,但是可以元組組合 tup1+tup2;連接操作;

  4. 刪除元組:元組中的元素不允許刪除,但可以用del語句刪除整個元組;

    del tup1
    print tup1
    輸出:NameError: name 'tup1' is not defined 
  5. 元組運算符:

    • 迭代:

      ​ 存在中文亂碼問題及其解決python2:

      tup1 = ('duan','jin','張三','李四',1,2)
      print tup1  #輸出會出現轉碼問題
      輸出:
      ('duan', 'jin', '\xe5\xbc\xa0\xe4\xb8\x89', '\xe6\x9d\x8e\xe5\x9b\x9b', 1, 2)
      
      #解決辦法
      
      
      #1.通過json自帶方法
      
      import json
      print json.dumps(tup1).decode("unicode-escape")
      輸出:
      ["duan", "jin", "張三", "李四", 1, 2]

    • 連接:+

      (1, 2, 3) + (4, 5, 6)  ---> (1, 2, 3, 4, 5, 6)
    • len()

    • 3 in (1, 2, 3)判斷是否存在一個元素

  6. 元組的索引,截取 tuple[:2],tuple[-3:],tuple[:-1]

3.字典–Dictionary {}

字典形式:{key:value,key1:value1} 鍵是唯一必須的,值則不必;鍵可以值字符串,數值,元組;值是任意類型

  1. 創建字典

    字典無序讀取效率高。list是順序讀取,數據量多的時候讀取效率低

    
    # 1.建立一個空字典,再賦值
    
    dict1 = {}
    dict1['age'] = 20 #和列表賦值寫法一樣 都是方括號寫;不可以通過dict1{'age'} 這個是不合法的
    print dict1
    
    # 2.鍵值對直接創建
    
    person = {'name':'qiwsir','language':'python','name':'yuwen'}
    person['name2'] = 'qiwsir2'
    print person #順序發現隨機
    
    # 3.通過dict()把元組變爲字典
    
    tup1 = (['name1','baidu'],['name2','google']) # 元組必須是鍵值對形式
    website = dict(tup1) 
    print website
    
    # 4.
    
    dict4 = ('name'='value',''='')
    
    # 5. fromkeys() 方式
    
    dict5 = {}.fromkeys(('first','seconde'),'facebook')
  2. 讀取操作:dict1['name']

  3. 更改操作:dict1['name'] = 'new_value'

  4. 刪除操作:del 注意:訪問清空過得,不存在的元素會報錯

    del dict1['name'] # 刪除一個元素
    dict1.clear()  # 清空操作
    del dict1 # 刪除字典本身

4.集合–Set

一個無序且不重複的元素集合。

1.創建集合

# 1.字符串變爲集合
set1 = set('hello')
# 2.列表變爲集合
list1 = [1, 2, 3, 4]
set2 = set(list1)
# 3.字典變爲集合 ;set3裏面變成了他的key值
dict1 = {'n1': 1, 'n2': '2', 'n3': [3, 4]}
set3 = set(dict1)
# 4.直接寫
set4 = {'k1', 'k2', 'k3'}

2.集合操作:主要是集合的交併補集等

# 比較:
se = {11, 22, 33}
be = {22, 55}
temp1 = se.difference(be) # 找出se中存在,be中不存在的數據
temp2 = se.difference_update(be) #找到se中存在,be中不存在的集合,覆蓋掉se
tem1 = se.intersection(be) # 取交集
se.intersection_update(be) # 取交集並更新自己
# t
se.isdisjoint(be) # 是否存在交集
se.issubset(be) # 是不是子集
se.issuperset(be) # 是不是父集
se.symmetric_difference_update(be) # 合併不同項
se.update(be) # 合併原值,覆蓋

3.集合刪除:discard() ,remove(),pop()

discard() 移除不存在元素不會報錯; remove() 移除不存在元素會報錯;pop()移除末尾元素並返回
set3 = set({31, 32, 33})
set3.discard(11)
set3.discard(44)
set4 = set({41, 42, 43})
set4.remove(41)
set4.remove(44) # 移除不存在會報錯
set5 = set({51, 52, 53})
temp3 = set5.pop()

5.Python中的運算符

1.算術運算符:

+ - * / % ** //

2.比較運算符:

==
!=
>
<
>=
<=

3.賦值運算符

=
+=
-=
*=
/=

4.邏輯運算符

and  x and y  # 數字不爲零就是true
or   x  or y
not  not x 

5.位運算符

按位運算符是把數字看作二進制來進行計算的。

運算符 描述 實例
& 按位與
| 按位或
^ 按位異或
~ 按位取反
<< 左移動
>> 右移動

實例:

a = 60   #60 = 0011 1100
b = 13   #13 = 0000 1101
c = a & b#12 = 0000 1100

進制轉換:

bin() # 十進制轉二進制
oct() # 十進制轉八進制
hex() # 十進制轉十六進制

6.成員運算符: in,not in

爲了獲取bool值運行

7.身份運算符: is, is not

身份運算符用於比較兩個對象的存儲單元,id()函數用於獲取對象內存地址。

a is b 判斷相當於 id(a) == id(b)

總結:運算符優先級

指數>按位運算>算術>邏輯>and 等等

8.時間和日期

time 和datetime

發佈了33 篇原創文章 · 獲贊 20 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章