Python學習之路第一天——初識Python

来源:http://www.cnblogs.com/songjiabin/archive/2016/01/03/5095926.html
-Advertisement-
Play Games

一、第一個程式Hello World: 1、列印輸出Hello World: Python2列印方法: >>> print "hello world"hello world Python3列印方法: >>> print("hello world") hello world 註:Python3與Pyt...


一、第一個程式Hello World:

1、列印輸出Hello World:

Python2列印方法:

>>> print "hello world"
hello world

 

Python3列印方法:

>>> print("hello world")

hello world

註:Python3與Pytho2的區別是加了小括弧。

 

2、以文件形式執行代碼:

[root@Centos-01 s1]# vim hello.py
打開一個文件hello.py文件內寫入以下內容:

print("hello world")

保存退出。

當我們執行代碼文件時會出現如下錯誤:

[root@Centos-01 s1]# ./hello.py
./hello.py: line 1: syntax error near unexpected token `"hello world"'
./hello.py: line 1: `print("hello world")'

出現此錯誤的原因是系統不知道用什麼語言來執行文件內的代碼。

解決方法就是用以下命令執行:

[root@Centos-01 s1]# python hello.py
hello world

這樣就會正常執行了。但是這樣執行會很不方便。我們可以在代碼文件中指定用什麼語言來執行代碼。

將hello.py文件內容修改成如下:

第一種方法:

#!/usr/bin/python
print("hello world")

第二種方法:

#!/usr/bin/env python
print("hello world")

註:第一種方法是指定執行代碼語言絕對路徑。第二種方法是查找指定的語言。推薦使用第二種方法,因為這樣可以提高代碼的可移植性。

此時我們再來執行代碼:

[root@Centos-01 s1]# python hello.py
hello world
[root@Centos-01 s1]# ./hello.py
hello world

OK,兩種方法都可以執行了。

 

二、變數聲明:

info = “hello world”

變數命名規則:

1、變數名只能以數字、字母、下劃線組成。

2、第一個字元只能為字母、下劃線但不能為數字。

3、不要使用內置變數名。內置變數就是python語言自身內部定義的變數名例如:type、input、impot等。

 

三、用戶交互:

1、用戶輸入代碼:

Python3.X代碼:

input_name = input("請輸入你的名:")
print(input_name)

執行結果:

請輸入你的名:Earl
Earl

Python2.X代碼:

input_name = raw_input("請輸入你的名字:")
print input_name

執行結果:

請輸入你的名:Earl
Earl

2、在Python3.x與Python2.x中用戶交互模塊有區別對應關係如下:

Python3.x                              Python2.x

input                                       raw_input

eval(input())                             input()

四、If條件判斷與while迴圈:

(一)、if語句:

1、語法:

if 條件:

    print(“要輸出信息”)

elif 條件:

    print(“要輸出信息”)

else:

    print(“要輸出信息”)

2、例句:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

info = input("請輸入您的性別:")
if info == "man":
    print("你是一個帥哥。")
elif info == "girl":
    print("你是一位淑女。")
else:
    print("對不起不知道你的性別。")

 

(二)、while迴圈:1語法:
while 條件:
print("要輸出信息")

 

例句:#!/usr/bin/env python
# -*- coding: utf-8 -*-

while True:
print("info")
註:以上語句為死迴圈語句。

 

(三)、while與if結合使用案例:場景:定義一個數字,然後去猜測這個數字,不論輸入數字大於還是小於定義數字均列印相應提示,猜對後退出並只有三次機會:代碼如下:#!/usr/bin/env python
# -*- coding: utf-8 -*-
number = 0
lucky_number = 5
while number < 3:
input_number = int(input("請輸入0到9之間的任意數字:"))
if input_number > lucky_number:
print("你輸入的數字大於幸運數字.")
elif input_number == lucky_number:
print("你輸入正確幸運數字.")
break
else:
print("你輸入的數字小於幸運數字.")
number += 1
else:
print("對不起,你的機會用完了。")

 

五、數據類型:(一)、數字:1、int(整型)2、long(長整型)3、float(浮點型)(二)、布爾值:1、真或假2、1或0(三)、字元串:“hello world”

萬惡的字元串拼接:

python中的字元串在C語言中體現為是一個字元數組,每次創建字元串時候需要在記憶體中開闢一塊連續的空間,並且一旦需要修改字元串的話,就需要再次開闢空間,萬惡的+號每出現一次就會在內從中重新開闢一塊空間。
(四)、字元串格式化:
1、普通格式化:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "Earl"
age = 27
info = ("我的名字叫%s, 我的年齡%d.") % (name, age)
print(info)
輸出:我的名字叫Earl,我的年齡27.註:字元串是%s;整數是%d;浮點數%f2、使用三引號格式化:#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "Earl"
age = 27
address = "北京"

info = """我的名字:%s
我的年齡:%d
我的住址:%s""" % (name, age, address)
print(info)
輸出:
我的名字:Earl
我的年齡:27
我的住址:北京
3、字元串切片:

2、刪除字元串空格:

 

info.strip() #去除兩邊的空格

info.lstrip() #去除左邊的空格

info.rstrip() #去除右邊的空格

 

 

 

六、列表(list):1、創建一個列表:list_info = ["name", "age", "address", 10000]2、列表取值:list_info[0] #0代表列表元素的索引值,值是以0開始的。所以結果為name。list_info[1] #當中括弧內是1時取是agelist_info[0:2] #取出列表0到2的元素,但是不包含索引值為2,也就小於2的值。所以結果是name和age。list_info[-1] #取出最後個值,所以結果為10000.list_info[:-1] #取出索引從0開始至倒數第二個字元,不包括-1的值,所以輸出結果為name, age, address。3、查看列表方法:>>>dir(list_info)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
註:帶有__為私有方法,我們使用不到。

 

4、各種方法演示:append方法是在列表末尾追加元素:list_info = ["name", "age", "address", 10000]
list_info.append("city")
print(list_info)
輸出結果:
['name', 'age', 'address', 10000, 'city']

 

count方法是統計某個元素在列表裡的個數:list_info = ["name", "age", "address", 10000, "age"]
info = list_info.count("age")
print(info)
輸出結果:2

 

insert方法是在列表內插入一個元素:list_info = ["name", "age", "address", 10000]
list_info.insert(2, "job")
print(list_info)
輸出結果:['name', 'age', 'job', 'address', 10000]註:insert方法中的數字2是索引值,是將新插入的元素放在2這個索引值的位置,而原有的元素全部後移一位。

 

index方法是取出index的索引值:list_info = ["name", "age", "address", 10000]
info = list_info.index("age")
print(info)
輸出結果:1

 

pop方法是刪除列表內的元素:list_info = ["name", "age", "address", 10000]
list_info.pop()
print(list_info)
輸出結果:['name', 'age', 'address']註:如果pope括弧內沒有索引值則是刪除列表最後一位。如果有索引值則刪除索引值的元素。

 

remove方法刪除列表元素:list_info = ["name", "age", "address", 10000]
list_info.remove("age")
print(list_info)
輸出結果:['name', 'address', 10000]

 

sort方法是排序,但是列表內只能是int類型元素:(此方法只在python3.x版本是這樣)list_info = [1, 34, 0, 6, 10000]
list_info.sort()
print(list_info)
輸出結果:[0, 1, 6, 34, 10000]

 
 
 

七、元組(tuple):1、創建元組:tuple_info = ("name", 34, "age", "address", 10000)

 

2、查看元組方法:

>>> dir(tuple_info)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

3、元組使用方法:

元組的操作與列表一樣。但是元組只有count與index兩種方法。

count方法是統計某個元素在元組裡的個數:

tuple_info = ("name", 34, "age", "name", "address", 10000)
info = tuple_info.count("name")
print(info)
輸出結果:2

 

index方法是取出index的索引值:

tuple_info = ("name", 34, "age", "address", 10000)
info = tuple_info.index("age")
print(info)
輸出結果:2

 

八、列表(list),字元串(str),元組(tuple)說明:

1、相同點:
切片、索引、len() 、in

2、不同點:
str:重新開闢空間
list:修改後,不變

3、元組(tuple):
不能修改

 

九、運算符

1、算數運算:+ - * / % ** //
2、比較運算:==  !=  <>   >=  <= >  <
3、賦值運算:=  +=  -=  *=  /=  %=  **/  //=
4、邏輯運算:and  or  not
5、成員運算:in  not in
6、份運算:is  is not    
7、運算:& | ^ ~  >> <<

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天終於開始進行OC的學習了一.首先講了NSLogNSLog是oc裡面的輸出語句,其用法和printf差不多,但是還是有差別的1,NSLog是自動換行的,不用像printf那樣還需要加'\n';2,NSLog在引號面前需要添加@符號,例如: NSLog(@"Hello World"); ...
  • 15.1、原理步驟註冊:註冊時,將用戶密碼加密放入資料庫登錄:登錄時,將用戶密碼採用上述相同的演算法加密,之後再與資料庫中的信息進行比對,若相同,則登錄15.2、實現(這裡採用了SHA256演算法,其他摘要演算法MD5/SHA1/MAC類似)註意:這裡的程式是在我之前寫的一個maven+spring+sp...
  • 剛開始學習python,之前完全沒有接觸,在這裡寫下自己學習python的過程和心得。 首先,安裝python,打開官網:http://python.org.點擊Download.我選擇了3.5.1版本進行安裝。 接下來,按照教程開始學習: 於是開始了經典的第一個程式,在互動式解釋器里輸入...
  • 運行時數據區域程式計數器(Program Counter Register):可看作是當前程式所執行的位元組碼的行號指示器。在虛擬機的概念模型里(不同虛擬機可能有不同的實現方法),位元組碼解釋器就是通過改變程式計數器的值來取下一條位元組碼指令,分支、迴圈、跳轉、異常處理、線程恢復等基礎功能都依賴於這個計數...
  • 一、ssmm簡介ssmm是當下企業最常用的開發框架架構maven:管理項目jar包,構建項目spring:IOC容器,事務管理springmvc:mvc框架myBatis:持久層框架velocity:前端視圖模板(相較於jsp,速度非常快,而且不需要占據jvm的永久代記憶體)上述這些框架再加上版本控制...
  • 1.直接通過github搜索tomcat,正好找到一位有部分翻譯內容的版本,直接fork並下載git clone https://github.com/codefollower/Tomcat-Research.git2.轉換成eclipse項目工程,如果沒有安裝maven,可以先配置maven環境變...
  • 題目:Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.思路:類似於上一篇文章中的方法一,對每列的左右拓展極限進行記...
  • 裝飾器1.普通函數#簡單的函數和調用def a1(): print("i am zhangsan")def a2(): print("i am lisi")a1()a2()2.在函數前後添加功能def inner(func): print("添加1") func() p...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...