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

來源:互聯網
上載者:User

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

1、python語言介紹

python的創始人:Guido Van Rossum

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

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

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

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

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

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

3、Python能做什嗎?

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

python的優缺點:

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

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

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

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

1、如果用的ubantu系統的linux,預設存在的是兩個python版本:2.7和3.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中寫的一個版本:

 

運行結果如下:

 

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

 

對於input在2.7裡面的是raw_input()

在3.5裡面同樣的print需要print()

對於if和else後面的冒號為規定格式

代碼裡的int就是為了將輸入的字串轉換為int類型,預設輸入的內容都是字串string類型

 

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

 

1 age_of_dean = 232 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       break14    elif guess_age > age_of_dean:15 16       print("think smaller.....")17 18    else:19 20       print("think bigger.......")21 22    count +=123 24 else:25 26    print("you guess is too manys,fuck off")

 

版本3:(任意玩版本)

age_of_dean = 23count = 0while 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 = 23for 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:%sAge:%sJob:%sSalary:%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種字元組成,且第一個字串必須為字元或者底線。

例如:name,Sutdent,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的值還保持不變的原因

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.