python成長之路-----day1----筆記(1)


1、python語言介紹

python的創始人:Guido Van Rossum

2、python是一門什么樣的語言

編程語言主要從以下幾個角度進行分類:編譯型,靜態型,動態性,強類型定義語言和弱類型定義語言

1)   編譯型:有一個負責翻譯的程序來對我們的源代碼進行轉換,生成對應的可執行代碼,這個過程就是編譯(Compile),而負責編譯的程序就被稱為編譯器(Compiler)

2)    通常我們所說的動態語言,靜態語言是指動態類型語言和靜態類型語言

(1)動態類型語言:是指在運行期間采取做數據類型檢查的語言。即在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。典型的是python和Ruby

(2)靜態類型語言:數據類型是在編譯期間檢查的,也就是說在寫程序的時候要聲明所有變量的數據類型。C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有C#,JAVA

3Python能做什么?

網絡應用、科學運算、GUI程序、系統管理工具、其他等等

python的優缺點:

優點:簡單、開發效率高、高級語言、可移植性、可擴展性、可嵌入性

缺點:速度慢,但是相對的、代碼不能加密、線程不能利用多CPU問題

4python解釋器:Cpython、IPython、PyPy、Jython、IronPython

----------------以上是一些基礎的python知識---------------

1、如果用的ubantu系統的linux,默認存在的是兩個python版本:2.73.5,默認執行python,啟動的是2.7版本

如果想要啟動3.5版本,需要做如下操作

ln -s /usr/bin/python3.5 /usr/bin/python(需要在root下用戶執行或者sudo

查看自己的python的版本:

Python -V

2、開始python的第一個程序:

代碼內容如下:

 

代碼中開頭的:#/usr/bin/env python與編寫shell程序時#/bin/bash意思是一樣的聲明要使用的解釋器類型!

運行結果如下:

 

3、第二個小程序關於猜年齡:

代碼內容如下:

在linux中寫的一個版本:

 

運行結果如下:

 

對上面猜你年齡程序的一些分析如下:

 

對於input2.7里面的是raw_input()

3.5里面同樣的print需要print()

對於ifelse后面的冒號為規定格式

代碼里的int就是為了將輸入的字符串轉換為int類型,默認輸入的內容都是字符串string類型

 

版本1:(用了if…elif…else)

 

1 age_of_dean = 23
2 guess_age =  int(input("input you guess:"))
3 if guess_age == age_of_dean:
4    print("you got it")
5 elif guess_age > age_of_dean:
6    print("think smaller.....")
7 else:
8    print("think bigger.......")

 

版本2:(用了while循環)

 1 age_of_dean = 23
 2 
 3 count = 0
 4 
 5 while count<3:
 6 
 7    guess_age = int(input("input you guess:"))
 8 
 9    if guess_age == age_of_dean:
10 
11       print("you got it")
12 
13       break
14    elif guess_age > age_of_dean:
15 
16       print("think smaller.....")
17 
18    else:
19 
20       print("think bigger.......")
21 
22    count +=1
23 
24 else:
25 
26    print("you guess is too manys,fuck off")

 

版本3:(任意玩版本)

age_of_dean = 23

count = 0

while count<3:

   guess_age = int(input("input you guess:"))

   if guess_age == age_of_dean:

      print("you got it")

      break
   elif guess_age > age_of_dean:

      print("think smaller.....")

   else:

      print("think bigger.......")

   count +=1

   if count == 3:

      input_continue = input("Do you want to continue to guess:")

      if input_continue != "n":

         count = 0
版本4:(for循環)
age_of_dean = 23

for i in range(3):

   guess_age = int(input("input you guess:"))

   if guess_age == age_of_dean:

      print("you got it")

      break
   elif guess_age > age_of_dean:

      print("think smaller.....")

   else:

      print("think bigger.......")

else:

   print("you guess is too manys,fuck off")

4、關於格式化輸出的三種方法:

方法1:

Name = input("Name:")

Age = input("Age:")

Job = input("Job:")

Salary = input("Salary:")



info1 = '''--------info of %s-------
Name:%s
Age:%s
Job:%s
Salary:%s
''' %(Name,Name,Age,Job,Salary)

print(info1)

方法2:

Name = input("Name:")

Age = input("Age:")

Job = input("Job:")

Salary = input("Salary:")



info2 = '''--------info of {0}-------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
''' .format(Name,Name,Age,Job,Salary)

方法3:

info3 = '''--------info of {_name}-------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
''' .format(_name=Name,_age=Age,_job=Job,_salary=Salary)

print(info2)

5、變量的明名規則:

python變量的命名只能由數字、字母和下划線3種字符組成,且第一個字符串必須為字符或者下划線。

例如:nameSutdent,Li_li

不符合的規則如下:M.C,$23,#11,zhao Fan,C++這些都是錯誤的命名

6、關於賦值后在內存中的關系

例子代碼如下:

name = "Dean"

name2 = name

print("My name is ",name,name2)

name = "zhaofan"

print("My name is ",name,name2)

運行結果如下:

 

從上面可以看出,當你把一個變量name賦值給另一個變量name2時,解釋器只是把name變量指向的內存地址賦值給了name2,因此name和name2並未發生直接的關聯,只不過是他們都同時指向了同一個內存地址而已,這也是為什么你把name再指向一個新的地址后,而name2的值還保持不變的原因

 


免責聲明!

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



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