天天看點

實訓筆記20190716

目錄

    • Python基礎
    • Python類型轉換
    • 字元串的切片:
    • 字元串操作
    • Python的新特性
    • 函數的調用機制
    • 算數運算符
    • Python輸出

Python基礎

  • 注釋

    Python注釋分為單行注釋和多行注釋

    1. 單行注釋 #後面是注釋

    2. 多行注釋 “”" 裡面是注釋"""

  • 變量

    python是一門強類型語言,不需要聲明,直接變量指派即可,且必須指派

    a=10 #Python中會自動識别資料類型

    print(b,type(b)) #python中使用type()判斷變量的類型

  • 浮點類型
demo4 = 12.0
   demo4 = 12 
   #int 和 float有什麼關系?int(長和短),在Python裡面沒有此說法
   #有取值無窮大,是以float類型取值和int一樣,不會損失資料精度
           
  • 字元串

    string(Java)

    str(Python)

  • 字元串命名規則
    1. 字元串裡面可以有空格嗎? ‘mi long’ ‘hello world’

      一個空格可以導緻資料洩露,并且一個空格可以占用不明确的記憶體空間

    2. 空格和’ ‘和null和0的差別?

      空格和’ '可以占用記憶體,但是不參與計算,不能使用

      null是一個資料類型的預設值,他可以釋放記憶體空間,不消耗記憶體空間,建議使用

demo8='mi '#最後有一個空格
demo9='long'  
demo10=demo8+demo9
print(demo10)

==>mi long
           
  • 格式化字元串

    在建立字元串時,可以在字元串中指定占位符

    % 占位符 , 可以釋放資源

    %s 在字元串中表示任意字元

    %f 浮點數占位符

    %d 整數占位符

b = 'Hello %s'%'孫悟空'     ==>Hello 孫悟空
b = 'hello %s 你好 %s'%('tom','孫悟空')
b = 'hello %3.5s'%'abcdefg' # %3.5s字元串的長度限制在3-5之間
b = 'hello %s'%123.456
b = 'hello %.2f'%123.456
b = 'hello %d'%123.95
b = '呵呵'
           

#print(‘a = %s’%a) #格式化字元串,可以通過在字元串前添加一個f來建立一個格式化字元串

#在格式化字元串中可以直接嵌入變量 c = f’hello {a2} {b2}’ #格式化字元串,不建議使用

建立一個變量來儲存你的名字 name = ‘孫悟空’

使用四種方式來輸出,歡迎 xxx 光臨

拼串 print(‘歡迎 ‘+name+’ 光臨!’)

多個參數 print(‘歡迎’,name,‘光臨!’)

占位符 print(‘歡迎 %s 光臨!’%name)

格式化字元串 print(f’歡迎 {name} 光臨!’) #這種擷取值很消耗資源

  • {}裡面存放變量名的名稱, 和變量值
  • {}存放list,元祖,set集合
  • {}表示一個方法體
  • {}和Java的new,構造器一個功能

字元串的複制(将字元串和數字相乘) a = ‘abc’

*在語言中表示乘法

如果将字元串和數字相乘,則解釋器會将字元串重複指定的次數并傳回 a = a * 20

print(a)

  • None(空值) #盡量少使用
    1. None不會占用記憶體,但是會讓程序進行大量執行,産生代碼的可執行體

Python的傳回值都是通過type關鍵字操作

Python類型轉換

類型轉換四個函數int(),float(),str(),bool()

Python語言沒有強弱類型轉換

demo16 = True
demo17 = int(demo16)   ==>1
demo18 = float(demo17)    ==>1.0
demo19 = str(demo18)    ==>1.0
           

字元串的切片:

通過下表由0開始擷取str片段

切片的文法:[起始:結束:步長]```

#算頭不算尾

demo21 = ‘abcdefghijk’

print(demo21[1]) ==>b

print(demo21[4]) ==>e

print(demo21[1:3]) ==>bc

print(demo21[1:-2]) ==>bcdefghij

print(demo21[1:1:1]) ==>null

## 代碼原理
- ==Python語言采用的是首行縮進的原理寫代碼==,預設縮進4個空格.
- Python語言的代碼執行體,不在{}裡面,而是在:之後寫代碼的執行體.
- Python語言裡面執行代碼時,不會按照由上到下的原理

           

demo3 = 100

if demo3>120:

print(‘demo3很小’)

else:

print(‘demo3很大’)

字元串操作

  1. find函數擷取字元串指定字元的索引位置。
  2. 如果是傳回開始的索引值,否則傳回-1,-1是一個辨別符,告訴開發人員目前不能按照索引找到指定位置的索引
  3. count函數辨別統計在str裡面出現的次數多少

    (** 在Python裡面函數的關鍵字預設找色功能是’紅色’**)

  4. split不建議使用,因為split會占用記憶體空間,沒有任何價值
  5. Python語言的大小寫敏感???
    • 基于資料庫的考慮,資料庫的規範,User_name,User_id, user_id
    • 通過capitalize()可以将資料庫/不規範的表/代碼進行調整,Python解釋器去執行的時候去操作,而不是發生在表中
    • ’ ’ 單引号更接近二進制位元組碼,讓Python解釋器更快,更加高效的執行,并且安全,更好地維護
  6. ljust:左對齊特性
    • 利用空格填充記憶體,但是這個記憶體并不是占用空間的,而是一個虛拟記憶體,和資料庫View一樣.
    • 可以利用ljust對一些沒有作用的髒資料
    • 可以使用ljust擠出去.
  7. 空格和空白的差別?
    • 空白是基于Python的首行縮進的文法而定,空白和空格本質是不一樣的.
    • 空白Python解釋器不解釋,但是空格Python解釋器解釋,浪費記憶體.
實訓筆記20190716
實訓筆記20190716
實訓筆記20190716
實訓筆記20190716
實訓筆記20190716

Python的新特性

  • Python3.2以後不支援單一參數,因為單一參數不可以和變量屬性進行指派相比對
  • Python裡面支援常量的重新定義操作

函數的調用機制

  1. 必須定義變量/常量
  2. 通過變量名稱/常量名稱/元祖名稱/清單名稱等調用函數

    例如:name.函數(參數1,參數2…);

  3. 以上調用效率較高,這樣調用Python不會加載底層jar包
  4. 其實Python的變量/常量就是一個對象.
  5. 技巧:對象.函數名稱();

    對象.方法名稱();

    Python裡面的面向對象的思想

算數運算符

加減

a = 100;
b = 200;
d = 12.0
c = a+b
e = a+b+d
print(type(c))    	==>int
print(type(e))		==>float
           

取餘

a1 = 100;
a2 = 2
a3 = a1/a2
print(a3)
           

假設變量a=10,b=20

實訓筆記20190716

指派運算符:

所有的指派運算符都是基于 = 展開擴充

e1=12,e2=14,e3=1

e4=e1+e2*e3

printf(e4) ==>26

#靠的是Python解釋器,python可以進行科學計算

單個+=,-=不建議使用,

Python輸出

print 預設輸出是換行的,如果要實作不換行需要在變量末尾加上逗号 ,

#!/usr/bin/python

#-- coding: UTF-8 --

x=“a”

y=“b”

換行輸出

print x

print y

print ‘---------’

不換行輸出

print x,

print y,

不換行輸出

print x,y

以上執行個體執行結果為:
    a
    b
    ---------
    a b a b
demo1 = True      # 當bool的值為1的時候,傳回值為True(==True必須大寫==)
demo2 = False    # 當bool的值為0的時候,傳回值為False
           
實訓筆記20190716

鍵盤輸入:

print(‘您好,請輸入您的姓名:’)

name=input()

print(name)

#input還可以進行操作算法