Python學習筆記Day01(變量\數據類型\if條件語句)

Python學習筆記Day01

計算機

概述

  • 計算機軟件(software):簡稱軟件,是一系列按照特定順序組織的計算機數據和指令的集合
  • 編程語言(programming language):是一形式語言,它制定了一組可用於產生各種輸出的指令
  • 計算機程序(computer program):簡稱程序,是由計算機執行的執行特定任務指令的集合

容量

1位 = 1bit
8bit = 1byte = 1字節
1024bytes = 1kbytes =1KB
1024KB = 1Million Bytes = 1MB = 1兆
1024MB = 1Gigabytes
1024GB = 1TB
1024TB = 1PB


什麼是python語言?

由荷蘭人Guido Van Rossum在1989年創建

是一種解釋型、面向對象、動態數據類型的高級程序設計語言

python語言的優點

  • 簡單易用

  • 大量的功能類庫支持

  • 語言兼容性

  • 跨平臺移植性

  • 代碼免費開源


解釋器/編譯器

在linux中指定解釋器的路徑

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

print("你好")

運行:解釋器 文件路徑

在Linux上有一種特殊的執行方法

給文件賦予一個可執行的權限

/a.py 自動去找文件的第一行=#!/usr/bin/env python a.py


編碼

交互式解釋器

  • 編譯器(compile):把高級語言一次性翻譯成計算機能識別的機器語言的一種軟件

    • 全部翻譯,再執行。執行速度快
  • 解釋器(interpreter):把高級語言編寫的程序,在執行時,一行一行地翻譯成機器語言的一種軟件

    • 邊執行邊翻譯,方便移植

初識編碼

  • ASCII,英文,8位表示一個東西,2**8
  • Unicode,萬國碼,32位表示一個東西,2**32
  • utf-8,給Unicode壓縮,用盡量少的位數表示一個東西,以8個位爲單位。最多用4字節=32位表示。中文:3字節=24位表示
  • utf-16:壓縮到最少2個字節
  • gbk:
  • gb2312:

python解釋器編碼

  • py2:ASCII

    • 在文件頭部加上:# * coding:utf-8 *
  • py3:utf-8

文件編碼

  • 建議:編寫文件時,保存文件要用utf-8格式

  • 以什麼編碼保存,就要用什麼編碼方式打開(編碼+解碼一致),否則會出現亂碼


註釋

#:單行註釋

“”"

多行註釋

“”"


輸入

user_name = input("請輸入你的姓名:")
message = user_name + "燒餅"
print(message)

注意

  • input輸入得到的內容永遠是字符串

  • py版本區別

    • py2:name = raw_input(“請輸入姓名”)
    • py3:name = input(“請輸入姓名”)

練習

user_name = input("請輸入你的姓名:")
password = input("請輸入你的密碼:")

content = "你的用戶名是:" + user_name + ";你的密碼是:" + password
print(content)

輸出

print(你想要輸出的東西)

py版本區別

  • py2: print “你好” #print後接空格

  • py3: print(“你好”)


變量

命名規則

  • 變量名只能包含:字母/數字/下劃線

  • 數字不能開頭

  • 不能是python的關鍵字

  • 變量名區分大小寫

  • 建議

    • 見名知意:name=“Alex” age=18
    • 用下劃線鏈接:Alex_dad=“張三丰”
    • 補充:AlexDad=“張三丰” (駝峯式命名)

命名練習

練習01

age = 18
new_age = age + 1
print(new_age)

練習02

name = "Alex"
new_name = name + "sb"
print(new_name)

練習03

age = "666"
new_age = age + "666"
print(new_age)

練習04

age = "666"
new_age = age + 666
print(new_age)     # 報錯

練習05

age = 6
new_age = age * 2
print(new_age)

練習06

name = "Alex"
new_name = name * 2
print(new_name)

練習07

age = 18
value = age >= 19
print(value)

數據類型

字符串string

  • 單引號
  • 雙引號
  • 三引號

數字numbers

  • 整型int

    • 沒有小數部分
      包含正數,負數,0

      • 二進制:以0b開頭的0、1串

        a=0b110
        print(a)
        
      • 八進制:以0o開頭的0-7之間的數字串

        a3=0o71 
        print(a3)
        
      • 十六進制:以0x組成的由0-9、a-f構成的串

        a4=0xfff8
        print(a4)
        
  • 浮點型float

    a=.2
    print(a)
    
    • 科學計數法:e後面跟整數用來表示10的指數

      height=1.84e2
      print(height)
      
  • 複數complex

    a=5j
    b=7+2j
    print(a,b)
    
  • py2和py3的區別

    • py2:超出範圍後python自動將其轉換成長整型long,整型除法只能保留整數位
    • py3:只有int,整型除法保留所有

布爾型bool

  • True
  • False

列表list

元祖tuple

字典dict

集合set

None:表示爲沒有(通常用來佔位或提供空值,表示返回一個空)


數據類型之間的轉換

0/""/[]/()(零、空字符串、空列表、空元祖轉換爲布爾值時結果爲False,其他情況全爲True)

數字轉字符串

v1 = 666
v2 = str(v1)
print = (v2,type(v2))

字符串轉數字

v1 = "666"
v2 = int(v1)
print(v2,type(v2))

數字轉布爾值

v1 = 0
v2 = bool(v1)
print(v2)

字符串轉布爾值

v1 = ""
v2 = bool(v1)
print(v2)

布爾值轉換其他

v1 = True
v2 = int(v1)
print(v2)

v1 = True
v2 = str(v1)
print(v2)

特殊轉換

對於or,如果遇到這類寫法:

第一個值如果轉換成布爾值是真,則value=第一個值
第一個值如果轉換成布爾值是假,則value=第二個值
如果有多個or條件,則從左到右依次進行上述流程

value = 1 or 9
print(value)

value = 0 or 9
print(value)

value = 0 or ""
print("----",value,"----")

value = 0 or 9 or 8
print(value)

對於and,如果遇到這類寫法:

如果第一個值轉換成布爾值是True,則value=第二個值
如果第一個值轉換成布爾值是False,則value=第一個值
如果有多個and條件,則從左到右依次進行上述流程

v1 = 1 and 9
v2 = 1 and 0
v3 = 0 and 7
v4 = 0 and ""
v5 = 1 and 0 and 9
print(v1,v2,v3,v4,v5)

運算優先級:有括號先算括號,not>and>or,同一優先級則從左往右計算

v1 = 1 and 9 or 0 and 6
print(v1)

條件判斷

初級條件語句

讓用戶輸入性別,如果是男則輸出:再見;如果是女則輸出:來呀來呀

gender = input("請輸入性別:")

if gender == "男":
    print("再見")
else:
    print("來呀來呀")

elif 條件

讓用戶輸入性別,如果是男,則輸出:再見;如果是女,則輸出:來呀來呀;如果是人妖:找Ted去,他也是;否則:滾

gender = input("請輸入性別:")

if gender == "男":
    print("再見")
elif gender == "女":
    print(來呀來呀)
elif gender == "人妖":
    print("找Ted去,他也是")
else:
    print("滾")
print("end")

最簡單

gender = input("請輸入性別:")     #女

if gender == "男":
    print("再見")

條件判斷練習

練習01:讓用戶輸入一個數字,猜:如果數字>50,則輸出:大了;如果數字<=50,則輸出:小了

num = input("請輸入一個數字:")
number = int(num)

if number > 50:
    print("大了")
else:
    print("小了")

練習02:用戶名密碼登陸

user_name = input("請輸入用戶名:")
password = input("請輸入密碼:")

if user_name == "Ted" and password == "1234":
    print("歡迎光臨")
else:
    print("用戶名或密碼錯誤")

練習03:評分規則

A>=90
B>=80
C>=70
D 其他
用戶輸入成績,根據成績的不同顯示不同的級別

score = int(input("請輸入成績:"))
if score >= 90:
    print("A")
elif score >=80:
    print("B")
elif score >=70:
    print("C")
else:
    print("D")

練習04(if條件的嵌套):10086

message = """歡迎致電10086
1.話費查詢;
2.流量服務;
3.業務辦理;
4.人工服務"""
print(message)

index = int(input("請輸入你要選擇的服務:"))
if index == 1:
    print("話費查詢")
elif index == 2:
    print("流量服務")
elif index == 3:
    content = """業務辦理
    1.修改密碼;
    2.更改套餐;
    3.停機;"""
    print("content")
    value = int(input("請輸入要辦理的業務:"))
    if value == 1:
        print("修改密碼")
    elif value == 2:
        print("更改套餐")
    elif value == 3:
        print("停機")
    else:
        print("錯誤")
elif index == 4:
    print("人工服務")
else:
    print("輸入錯誤")

綜合習題

習題01

v1 =[11,22,33]
v2 =v1
v1.append(666)
print(v2)

習題02

v1 = [11,22,33]
v2 = v1
v1 = [1,2,3,4]
print(v2)

習題03

v1 = "alex"
v2 = v1
v1 ="ritian"
print(v2)

習題04

v = [1,2,3]
values = [11,22,v]
v.append(9)
print(values)

v = [1,2,3]
values = [11,22,v]
values[2].append(99)
print(v)

v = [1,2,3]
values = [11,22,v]
v = 99
print(values)

v = [1,2,3]
values = [11,22,v]
values[2] = 66
print(v)

習題05: ==和is有什麼區別?

v1 = [1,2,3]
v2 = [1,2,3]
print(v1 == v2)    #比較的是值
print(v1 is v2)    #比較的是內存地址

查看內存地址

v1 = [1,2,3]
v2 = [1,2,3]
print(id(v1),id(v2))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章