python第一天 循環


var1.py第一段代碼:

1 #!usr/bin/env python
2 #-*- coding:utf-8-*-
3 # Author calmyan
4 print('hello world')
5 name = ''
6 name2=name
7 print('我的名字:',name,name2)
8 name='utem'
9 print('我的名字:',name,name2)
1

相對來說,於C相比更有便潔,簡懂!

 1 #!usr/bin/env python
 2 # Author calmyan
 3 import getpass
 4 name="calmyan"
 5 password="123abc"
 6 
 7 username=input("nsername:")
 8 userpassword=getpass.getpass("password:")
 9 # userpassword=input("password:")
10 if name==username and password==userpassword:
11     print("歡迎{name}登陸".format(name=username))
12 else:
13     print("用戶名或密碼錯誤")
2

使用pyCharm在windows10運行getpass有些問題,用cmd進行運行可以正常運行!

多行字符輸出的三種方法(int類型需要強制轉換):

 1 #!usr/bin/env python
 2 #-*- coding:utf-8-*-
 3 # Author calmyan
 4 name=input("name:")
 5 age=int(input("age:"))#int 強制轉換
 6 job=input("job:")
 7 salary=input("salary:")
 8 
 9 # info='''
10 # ---------info of '''+name+'''---------
11 # Name:'''+name+'''
12 # Age:'''+age+'''
13 # Job:'''+job
14 
15 # info='''
16 # ------info of %s --------
17 # Name:%s
18 # Age:%d
19 # Job:%s
20 # salary:%s
21 # '''%(name,name,age,job,salary)
22 
23 info2='''
24 ------info of {_name} --------
25 Name:{_name}
26 Age:{_age}
27 Job:{_job}
28 salary:{_salary}
29 '''.format(_name=name,
30            _age=age,
31            _job=job,
32            _salary=salary)
33 info3='''
34 ------info of {0} --------
35 Name:{0}
36 Age:{1}
37 Job:{2}
38 salary:{3}
39 '''.format(name,
40            age,
41            job,
42            salary)
43 print(info2)
44 print(info3)
3

while與for 循環的對比:  

 1 #!usr/bin/env python
 2 # Author calmyan
 3 
 4 
 5 age_name=45
 6 
 7 count=0
 8 while count<=3:
 9     guess_age=int(input("age:"))
10     if guess_age==age_name:
11         print("yes,you got it")
12         break
13     elif guess_age>age_name:
14         print("think smaller....")
15     else:
16         print("think bigger...")
17     count=count+1
18 else:
19     print("你試的次數太多了!")
20 
21 for i in range(3):
22     guess_age=int(input("age:"))
23     if guess_age==age_name:
24         print("yes,you got it")
25         break
26     elif guess_age>age_name:
27         print("think smaller....")
28     else:
29         print("think bigger...")
30 else:
31     print("你試的次數太多了!")
4
對循環進行優化可以更加人性: 
 1 #猜數字
 2 age_name=45
 3 count=0
 4 while count<=3:
 5     guess_age=int(input("age:"))
 6     if guess_age==age_name:
 7         print("yes,you got it")
 8         break
 9     elif guess_age>age_name:
10         print("think smaller....")
11     else:
12         print("think bigger...")
13     count=count+1
14     if count==3:
15         countine_confirm=input("do you want to keep guessing..? n=exit")#是否繼續!n退出!
16         if countine_confirm !='n':
17             count=0
18         else:
19             exit()
20 else:
21     print("你試的次數太多了!")
5
 

 第一天學習了基礎的語法,相對還是容易理解!

 1 #復制以下代碼可以正常游戲
 2 print('猜數字游戲')
 3 
 4 import random
 5 secrst = random.randint(1,99)
 6 number=secrst
 7 
 8 amount = random.randint(3,8)
 9 print('本次游戲次數為',amount,'')
10 
11 count=0
12 while count<=amount:
13     try:
14         guess=int(input("開始:"))
15     
16         if guess == number:
17             print('猜對了')
18             break
19         elif guess > number:
20             print('大了')
21         else:
22             print('小了')
23 
24             
25         count=count+1
26         if count==amount:
27             countine_confirm=input('任意鍵重新開始,“N”鍵退出游戲')
28             if countine_confirm !='n':
29                 count=0
30             else:
31                 exit()
32     except:
33         print('請輸入數字,而不是其他')
34 
35             
36 print('游戲結束')
#復制以下代碼可以正常猜數字游戲

 

 1 print<打印>('猜數字游戲')
 2 
 3 import<調入> random<模塊>#調入函數模塊
 4 secrst<變量名1> = random.randint<函數,隨機的整數>(1,99)<參數1到99>#為變量名賦值一個隨機的整數
 5 number<變量名2>=secrst<變量名1>#為變量名賦值變量#本句可以省略原因自己想,想不出來照做!
 6 
 7 amount<變量名3> = random.randint<函數,隨機的整數>(3,8)<參數3到8>
 8 print<打印>('本次游戲次數為',amount<變量名3>,'')
 9 
10 count<變量名4>=0<整數0>
11 while<為真循環> count<變量名4><=amount<變量名3>:#當以下條件為真就循環,當<變量名4>大於等於<變量名3>就執行
12     try:<檢測程序以下是否異常,出現異常執行except>
13         guess<變量名5>=int(input("開始:"))<輸入整數>
14     
15         if<條件分支,為真執行以下> guess<變量名5> == number<變量名2>:
16             print<打印>('猜對了')
17             break<中止程序>
18         elif<條件判斷,為真執行以下> guess<變量名5> > number<變量名2>:
19             print<打印>('大了')
20         else<條件分支,為假執行以下>:
21             print<打印>('小了')
22             
23         count<變量名4>=count<變量名4>+1<加整數1>   
24         if<條件分支,為真執行以下> count<變量名4>==amount<變量名3>:
25             countine_confirm<變量名6>=input<輸入>('任意鍵重新開始,“N”鍵退出游戲')
26             if<條件分支,為真執行以下> countine_confirm<變量名6> !='n'<不等於按鍵n>:
27                 count<變量名4>=0<整數0>
28             else<條件分支,為假執行以下>:
29                 exit()<退出程序>
30     except:<出現異常執行以下>
31         print<打印>('請輸入數字,而不是其他')
32 
33             
34 print<打印>('游戲結束')
猜數字游戲分解

 

 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               初始次數等於次數次加1
29               條件判斷初始次數等於最高次數執行以下    
30                    輸入一個按鍵
31                    條件判斷輸入的按鍵不等於退出鍵執行以下
32                        初始次數等於新次數
33               <判斷執行完以上重新循環>
34                    條件判斷為假<為退出鍵>
35                        退出程序
36 
37 游戲思路擴展錯誤提示
38 
39 打印游戲歡迎,提示游戲開始
40 生成一個數字
41 生成一個最高猜測次數
42 定義初始猜測次數
43 
44 條件為真就循環
45               <檢測程序以下是否異常,出現異常執行except>
46               條件判斷輸入一個數字等於生成的的數字,執行以下
47                   <打印>('猜對了')
48                   停止程序
49               條件判斷如果輸入數大於生成數就<打印>('大了')
50               條件判斷為假<打印>('小了')
51 
52               初始次數等於次數次加1
53               條件判斷初始次數等於最高次數執行以下    
54                    輸入一個按鍵
55                    條件判斷輸入的按鍵不等於退出鍵執行以下
56                        初始次數等於新次數
57               <判斷執行完以上重新循環>
58                    條件判斷為假<為退出鍵>
59                        退出程序
60               <出現異常執行以下>
猜數字游戲思路

 

 1 #所有腳本第一句話都要寫解釋以下腳本是用什么解釋器
 2 #!/usr/bin/env python
 3 #語言設置為:簡體中文
 4 #_*_coding:utf-8_*_
 5 
 6 
 7 #變量定義的規則:
 8 
 9 #變量名只能是 字母、數字或下划線的任意組合
10 #變量名的第一個字符不能是數字
11 #以下 關鍵字 不能聲明為變量名
12 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
13  'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',
14  'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise',
15  'return', 'try', 'while', 'with', 'yield']
變量定義的規則:
 1 #input <輸入>
 2 #print<打印>
 3 username = input('用戶名')
 4 password = input('密碼')
 5 print(username,password)
 6 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 7 #輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
 8 #另存為 passwd.py到  c:\users\alex\pycharmprojects\s14\day1>python
 9 
10 import getpass
11 
12 username = input('usernmae:')
13 password = getpass.getpass('password:')
14 
15 print(username,password)
16 
17 cd c:\users\alex\pycharmprojects\s14\day1>python passwd.py
18 
19 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
20 
21 #  .format   <格式>
22 #  import    <調用>  getpass<py系統自帶函數模塊,密文輸入>
23 #  print     <打印>
24 #  if        <條件成立執行>
25 #  and       <而且>
26 #  else      <if條件不成立時執行>
27 
28 import getpass
29 
30 name = 'alex'
31 word = 'as123'
32 
33 username = input('名字:')
34 password = input('密碼:')
35 
36 if name == username and word == password:
37     print('歡迎 {N} 登錄'.format(N=name))
38 else:
39     print('賬號或者密碼錯誤')
簡單的賬號密碼
 1 #  i  <變量名>
 2 #  range(10)  <范圍>  (0,1,2,3,4,5,6,7,8,9)<0-9十個數>
 3 
 4 for i in range(10):
 5     print('loop',i)
 6 
 7     
 8 #  (0,10,3)  <起始數,結束值,步長>  <步長默認加1>
 9 for i in range(0,10,3):
10     print('loop',i)
11 
12 
13 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
14 
15 # continue  <跳出本次循環,重新循環>
16 
17 for h in range(0,10):
18     if h <3:
19         print('loop',h)
20     else:
21         print('kkkkkk...')
22         continue
23         print('yyyyyy...')
24     print('呵呵呵...')
25 
26 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
27 
28 #  for t in range(9)  <條件循環> <變量名> <在> <范圍(參數)>
29 #  print  <打印>
30 #  if     <條件判斷>
31 #  break  <中止程序>
32 
33 for t in range(9):
34     print('______',t)
35     for j in range(11,50):
36         print(j)
37         if j >= 22:
38                break
簡單的for<條件循環>
 1 #模塊尋找路徑先在當前目錄下尋找,然后在全局環境變量目錄里尋找
 2             
 3 #'''你會發現,上面自己寫的tab.py模塊只能在當前目錄下導入,
 4 #如果想在系統的何何一個地方都使用怎么辦呢? 此時你就要
 5 #把這個tab.py放到python全局環境變量目錄里啦,基本一般都
 6 #放在一個叫 Python/2.7/site-packages 目錄下,這個目錄
 7 #在不同的OS里放的位置不一樣,用 print(sys.path) 可以查
 8 #看python環境變量列表。'''
 9                  #系統自帶模塊在以下目錄里為  XXX.py的文件
10 #C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib
11 
12                  #默認第三方模塊在以下目錄里(即是全局環境變量目錄)
13 #C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Lib\site-packages
14 
15 import sys
16 print(sys.path)  #打印環境變量
17 print('------我割割割-------')
18 print(sys.argv)   #打印路徑
19 
20 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
21 
22 import os
23 
24 #cmd = os.system('dir')#執行命令,不保存結果
25 
26 #print('查看1',cmd)
27 
28 #直接輸出到屏幕上
29 
30 #cmd2 = os.popen('dir2').read()
31 #print('查看2',cmd2)
32 
33 cmd3 = os.mkdir('查看3')
34 print('查看3',cmd3)
環境變量
 1 1、數字
 2 int(整型)
 3 -9223372036854775808~9223372036854775807
 4 
 5 float(浮點型)
 6 3.23和52.3E-4是浮點數的例子。E標記表示10的冪。在這里,52.3E-4表示52.3 * 10-4
 7 complex(復數)
 8 (-5+4j)和(2.3-4.6j)是復數的例子,其中-5,4為實數,j為虛數
 9 
10 2、布爾值
11   真或假
12   1 或 0
13 
14 3、字符串
15 "hello world"
PY類型
 1 #############################################################################>>>
 2 #
 3 #  字符串格式化符號含義
 4 #
 5 #  符號             說明
 6 #
 7 #  %c  <格式化字符及其ASCII碼><a=97>
 8 #           >>> '%c %c %c %c %c' % (97,98,99,100,101)
 9 #           >>> 'a b c d e'
10 #  %s  <格式化字符串>
11 #           >>> '%s' % 'I love fc'
12 #           >>> 'I love fc'
13 #  %d  <格式化整數>
14 #           >>> '%d + %d = %d' % (4,5,4+5)
15 #           >>>  '4 + 5 = 9'
16 #  %o  <格式化無符號八進制數>
17 #  %x  <格式化無符號十六進制數>    <10=a,11=b>
18 #           >>> '%x' % 160
19 #           >>>'a0'
20 #  %X  <格式化無符號十六進制數(大寫)>    <10=A,11=B>
21 #  %f  <格式化定點數,可以指定小點后的精度>
22 #           >>> '%F' % 27.986
23 #           >>> '27.986000'
24 #  %e  <用科學計數法格式化定點數>
25 #           >>> '%e' % 27.158
26 #           >>> '2.715800e+01'
27 #  %E  <作用同%e,用科學計數法格式化定點數>
28 #  %g  <根據值的大小決定使用%f或%e>
29 #  %G  <作用同%g,根據值的大小決定使用%f或%E>
30 #
31 #############################################################################>>>
字符串格式化符號含義
 1 #print<打印>
 2 #打印數據類型
 3 
 4 name = input('名字:')
 5 age = int(input('年齡:'))
 6 print(type(age),  type(str(age)))
 7 job = input('行業:')
 8 salaty = input('年薪:')
 9 
10 
11 info = '''
12 --------info of %s -----
13 Name:%s
14 Age:%d
15 job:%s
16 salary:%s
17 ''' %(name,name,age,job,salaty)
18 print(info)
19 ============== RESTART: C:/Users/Administrator/Documents/學習.py ==============
20 名字:a
21 年齡:12
22 <class 'int'> <class 'str'>
23 行業:sdad
24 年薪:2555
25 
26 --------info of a -----
27 Name:a
28 Age:12
29 job:sdad
30 salary:2555
打印數據類型
 1 #############################################################################>>>
 2 #顯式轉換的多種類型
 3 #
 4 #int (x [,base]) ⇒ 將x轉換為一個十進制的整數 
 5 #long(x [,base]) ⇒ 將x轉換為一個十進制的長整數 
 6 #float(x) ⇒ 將x轉換為一個浮點數 
 7 #str(object) ⇒ 轉換為字符串 
 8 #repr(object) ⇒ 轉換為表達式字符串 
 9 #eval(str) ⇒ 用來計算在字符串中的有效Python表達式,並返回一個對象 
10 #tuple(seq) ⇒ 將序列seq轉換為一個元組 
11 #list(seq) ⇒ 將序列seq轉換為一個列表 
12 #chr(x ) ⇒ 將一個整數轉換為一個字符 
13 #unichr(x ) ⇒ 將一個整數轉換為Unicode字符 
14 #ord(x ) ⇒ 將一個字符轉換為它的整數值 
15 #hex(x ) ⇒ 將一個整數轉換為一個十六進制字符串 
16 #oct(x ) ⇒ 將一個整數轉換為一個八進制字符串
17 #############################################################################>>>
顯式轉換的多種類型
 1 #############################################################################>>>
 2 #   當行注釋:# 被注釋內容
 3 #   多行注釋:   ''' 被注釋的內容  '''
 4 #
 5 #
 6 info = '''
 7 
 8 
 9 
10 '''
11 #
12 #############################################################################>>>
如何注釋內容
 1 ######################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 2 
 3 #format<格式>
 4 
 5 name = input('名字:')
 6 age = int(input('年齡:'))
 7 print(type(age),  type(str(age)))
 8 job = input('行業:')
 9 salaty = input('年薪:')
10 
11 
12 info2 = '''
13 --------info of {N}  --------
14 姓名:{N}
15 芳齡:{A}
16 職業:{J}
17 工資:{S}
18 '''.format(N=name,
19            A=age,
20            J=job,
21            S=salaty)
22 
23 print(info2)
24 
25 ============== RESTART: C:\Users\Administrator\Documents\學習.py ==============
26 名字:yyy5
27 年齡:88
28 <class 'int'> <class 'str'>
29 行業:dgdgdg5dgdfg
30 年薪:9995121
31 
32 --------info of yyy5  --------
33 姓名:yyy5
34 芳齡:88
35 職業:dgdgdg5dgdfg
36 工資:9995121
37 
38 >>> 
39 ###################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
40 
41 #format<格式>
42 
43 name = input('名字:')
44 age = int(input('年齡:'))
45 print(type(age),  type(str(age)))
46 job = input('行業:')
47 salaty = input('年薪:')
48 
49 
50 info3 = '''
51 --------info of {0}  --------
52 姓名:{0}
53 芳齡:{1}
54 職業:{2}
55 工資:{3}
56 '''.format(name,age,job,salaty)
57 
58 print(info3)
59 
60 >>> 
61 ============== RESTART: C:\Users\Administrator\Documents\學習.py ==============
62 名字:d5as6d5
63 年齡:56565
64 <class 'int'> <class 'str'>
65 行業:ad2a6sd6a
66 年薪:26s5d6s2d6s2
67 
68 --------info of d5as6d5  --------
69 姓名:d5as6d5
70 芳齡:56565
71 職業:ad2a6sd6a
72 工資:26s5d6s2d6s2
73 
74 >>> 
注釋的用法
  1 #############################################################################>>>
  2 
  3 #——————————數據運算——————
  4 #
  5 #——算數運算:——
  6 #
  7 #    運算符     描述                                                                         實例
  8 #
  9 #    +          加-兩個對象相加________________________________________________________________a+b 輸出結果 30    15+15=30
 10 #    -          減-得到負數或者一個數減去另一個數______________________________________________a-b 輸出結果-10    20-30=-10
 11 #    *          乘-兩個數相乘或者返回一個被重復若干次的字符串__________________________________a*b 輸出結果200    20*10=200
 12 #    /          除-X除以Y______________________________________________________________________b/a 輸出結果2      4/2=2
 13 #    %          取模-返回除法的余數____________________________________________________________b%a 輸出結果0
 14 #    **         冪-返回X的Y次冪________________________________________________________________a**b 為10的20次方,輸出結果100000000000000000000
 15 #    //         取整除-返回商的整數部分________________________________________________________9//2 輸出結果 4      9.0//2.0  輸出結果4.0
 16 #
 17 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 18 #
 19 #——比較運算:——   false<假0>   true<真1>
 20 #
 21 #    運算符     描述                                                                          實例
 22 #
 23 #    ==         等於-比較對象是否相等__________________________________________________________(a==b)返回False
 24 #    !=         不等於-比較兩個對象是否不相等__________________________________________________(a!=b)返回true
 25 #    <>         不等於-比較兩個對象是否不相等__________________________________________________(a<>b)返回true   這個運算符類似  !=
 26 #    >          大於-返回X是否大於Y____________________________________________________________(a>b)返回False
 27 #    <          小於-返回X是否小於y。所有比較運算符返回1表示真,返回0表示假____________________(a<b)返回true
 28 #                     這分別與特殊的變量True和False等價.注意,這些變量名的大寫。                                 
 29 #    >=         大於等於-返回x是否大於等於y____________________________________________________(a>=b)返回False
 30 #    <=         小於等於-返回x是否小於等於y____________________________________________________(a>=b)返回true
 31 #
 32 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 33 #
 34 #——賦值運算:——
 35 #
 36 #    運算符      描述                                                                           實例
 37 #
 38 #    =           簡單的賦值運算符_______________________________________________________________c  =  a + b 將 a + b 的運算結果賦值給 c
 39 #    +=          加法賦值運算符_________________________________________________________________c +=  a   等效於 c = c +  a
 40 #    -=          減法賦值運算符_________________________________________________________________c -=  a   等效於 c = c -  a                                                              
 41 #    *=          乘法賦值運算符_________________________________________________________________c *=  a   等效於 c = c *  a                                                                                                             
 42 #    /=          除法賦值運算符_________________________________________________________________c /=  a   等效於 c = c /  a                                                                                                             
 43 #    %=          取模賦值運算符_________________________________________________________________c %=  a   等效於 c = c %  a                                                                    
 44 #    **=         冪賦值運算符___________________________________________________________________c **= a   等效於 c = c ** a                                                                                                              
 45 #    //=         取整賦值運算符_________________________________________________________________c //= a   等效於 c = c // a                                                 _                                                             
 46 #
 47 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 48 #
 49 #——邏輯值運算:——
 50 #
 51 #    運算符      描述                                                                           實例
 52 #
 53 #    and         布爾“與”-如果X為False,  X and Y  ,返回False,否則它返回Y的計算值_____________(K and J)返回true
 54 #    or          布爾“或”-如果X為True, 它返回True,否則它返回Y的計算值_________________________(K or J)返回true
 55 #    not         布爾“非”-如果X為True,返回False,如果X為False,它返回True______________________not(K and J)返回true                                                            
 56 #
 57 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 58 #
 59 #——成員運算:——
 60 #
 61 #    運算符      描述                                                                           實例
 62 #
 63 #    in         如果在指定的序列中找到值返回True,否則返回False,________________________________x在y序列中,如果x在y序列中返回True
 64 #    not in     如果在指定的序列中沒有找到值返回True,否則返回False,____________________________x不在y序列中,如果x在y序列中返回True                                                
 65 #
 66 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 67 #
 68 #——身份運算:——
 69 #
 70 #    運算符      描述                                                                           實例
 71 #
 72 #    is         is是判斷兩個標識符是不是引用自一個對象__________________________________________x is y ,如果 id(x) 等於 id(y)  ,is 返回結果1
 73 #    is not     is not是判斷兩個標識符是不是引用自不同對象______________________________________x is not y ,如果 id(x) 不等於 id(y)  ,is not 返回結果1                                            
 74 #
 75 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 76 #
 77 #——位運算:——
 78 #
 79 #    運算符     描述                                                                         實例
 80 #
 81 #    &          按位與運算符_________________________________________________________________(a&b)  輸出結果  12 ,二進制解釋: 0000 1100
 82 #    |          按位或運算符_________________________________________________________________(a|b)  輸出結果  61 ,二進制解釋: 0011 1100
 83 #    ^          按位異或運算符_______________________________________________________________(a^b)  輸出結果  49 ,二進制解釋: 0011 0001
 84 #    ~          按位取反算符_________________________________________________________________(~a)   輸出結果 -61 ,二進制解釋: 1100 0011  ,在一個有符號二進制數的補碼形式。
 85 #    <<         左移動運算符_________________________________________________________________a<<2   輸出結果 240 ,二進制解釋: 1111 0000
 86 #    >>         右移動運算符_________________________________________________________________a>>2   輸出結果  15 ,二進制解釋: 0000 1111
 87 #
 88 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 89 #    按位取反運算規則(按位取反再加1)
 90 #!/usr/bin/python
 91   
 92 a = 60            # 60 = 0011 1100
 93 b = 13            # 13 = 0000 1101
 94 c = 0
 95   
 96 c = a & b;        # 12 = 0000 1100
 97 print "Line 1 - Value of c is ", c
 98   
 99 c = a | b;        # 61 = 0011 1101
100 print "Line 2 - Value of c is ", c
101   
102 c = a ^ b;        # 49 = 0011 0001 #相同為0,不同為1
103 print "Line 3 - Value of c is ", c
104   
105 c = ~a;           # -61 = 1100 0011
106 print "Line 4 - Value of c is ", c
107   
108 c = a << 2;       # 240 = 1111 0000
109 print "Line 5 - Value of c is ", c
110   
111 c = a >> 2;       # 15 = 0000 1111
112 print "Line 6 - Value of c is ", c
113 
114 
115 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
116 #
117 #——運算符優先級:——
118 #
119 #    運算符                             描述                                                                           
120 #
121 #    **                                  ___指數(最高優先級)
122 #    ~ + -                               ___按位翻轉,一元加號和減耗(最后兩個的方法名為+@和-@)
123 #    * / % //                            ___乘,除,取模和取整數                                                         
124 #    + -                                 ___加法減法                                                                                                          
125 #    >> <<                               ___右移,左移運算符                                                                                                         
126 #    &                                   ___位 'AND'                                    
127 #    ^ |                                 ___位運算符                                                                                                  
128 #    <= < > >=                           ___比較運算符                                                          
129 #    < > == !=                           ___等於運算符
130 #    = %= /= //= -= += *= **=            ___賦值運算符
131 #    is  is not                          ___身份運算符                                                           
132 #    in  not in                          ___成員運算符                                                                                                         
133 #    not or and                          ___邏輯運算符                                                                                                       
134 # 
135 ######>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
136 #    * / + -  <一元操作符>
137 #    %[百分比,取余數]  **[冪運算操作符,比一元操作符左邊高比一元操作符右邊低]
138 #    //[地板除法]
139 #
140 #運算符優先級
141 #              冪運算          **
142 #             正負號        +*  -*
143 #         算術操作符    *  /  //   +  -
144 #         比較操作符   <  <=   >   >=   ==   != 
145 #         邏輯運算符       not  and  or
146 #
147 #比較操作符 < <=  >  >=  ==  !=   <根據表示的值進行比較>
148 #
149 #true  <1,真>   false  <0,假>
150 #邏輯符  and <左右都為true執行>  or <左右 或者為true執行>  not<相反執行>
151 
152 ###>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
153 
154 #三元操作符  語法: x if 條件 else y
155 #x,y = 4, 5
156 #if x < y:
157 #   small=x
158 #else:
159 #   small=y
160 #改進為
161 #small = x if x < y else y
162 #
163 #assert<斷言,關鍵字,AssertionError,程序檢查點>
164 
165 #true  <1,真>   false  <0,假>
166 #while<而,循環體,為true時執行>
167 #
168 #for<為,循環體>  in<在>
169 #
170 #for 目標 in 表達式
171 #   循環體
172 
173 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
174 
175 三元運算
176 
177 result = 值1 if 條件 else 值2
178 如果條件為真:result = 值1
179 如果條件為假:result = 值2
180 
181 三、進制
182 
183 二進制,01
184 八進制,01234567
185 十進制,0123456789
186 十六進制,0123456789ABCDEF  二進制到16進制轉換http://jingyan.baidu.com/album/47a29f24292608c0142399cb.html?picindex=1
187 計算機內存地址和為什么用16進制?
188 
189 為什么用16進制
190 1、計算機硬件是0101二進制的,16進制剛好是2的倍數,更容易表達一個命令或者數據。十六進制更簡短,因為換算的時候一位16進制數可以頂4位2進制數,也就是一個字節(8位進制可以用兩個16進制表示)
191 2、最早規定ASCII字符集采用的就是8bit(后期擴展了,但是基礎單位還是8bit),8bit用2個16進制直接就能表達出來,不管閱讀還是存儲都比其他進制要方便
192 3、計算機中CPU運算也是遵照ASCII字符集,以16、32、64的這樣的方式在發展,因此數據交換的時候16進制也顯得更好
193 4、為了統一規范,CPU、內存、硬盤我們看到都是采用的16進制計算
194 
195 16進制用在哪里
196 1、網絡編程,數據交換的時候需要對字節進行解析都是一個byte一個byte的處理,1個byte可以用0xFF兩個16進制來表達。通過網絡抓包,可以看到數據是通過16進制傳輸的。
197 2、數據存儲,存儲到硬件中是0101的方式,存儲到系統中的表達方式都是byte方式
198 
199 3、一些常用值的定義,比如:我們經常用到的html中color表達,就是用的16進制方式,4個16進制位可以表達好幾百萬的顏色信息。
200 
201 ##############################################################################################>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
數據運算

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM