天天看點

Python文法使用

由于之前學習過js,代碼基本上是相同的,先看看和js有那些差別

項目 python javascript
适用版本 python3 es6,即ECMAScript 2015
運作環境 #!/usr/bin/python # -*- coding: UTF-8 -*- ,第1句指定linux運作環境,第2句指定檔案編碼 'use strict';,使用限制模式,即強制要提前聲明變量,否則報錯
大小寫 要區分大小寫 同python
語句結尾 不需要 必須加分号;
單行注釋 用 # 用//
多行注釋 不支援,通常變通為不指派的多行字元串,即三個引号 ''' 多行用/* */
變量聲明 必須聲明,格式為:let i=0;
字元串 單雙引号都可
多行字元串 用三引号,''' 或 """ 都可 用 `
轉義字元 用 \ 表示,如 \ \ 表示\
批量不轉義 用 r' ... '表示,即原樣輸出,不轉換 不支援
16進制數字 用0x表示,如0xaf
16進制字元串 用\ x表示,如'\ x41表示A
unicode字元串 用\ u表示,如 '\ u4e2d'表示 中
取幂 用雙乘号**,相當于重複xx次,可用于數字和字元串
取商數 用雙除号// 不支援,//表示注釋
取餘數 用 百分号 % 同 python
布爾值 True 或 False true 或 false
與或非 與and,或or,非not 與&&,或||,非!
空值 用 None 用null
指派 用等号=,或+=,-=
判斷相等 用雙等号== 用三等号===,雙等号比較時會進行類型轉換,不安全
判斷不等 用!=
代碼塊 用4個空格縮進,縮進的上一句結尾用冒号: 用花括号{}
占位語句 用pass,表示有個功能,但還沒開發出來,暫時留個位置
函數 def 函數名(參數): function 函數名(參數){}
子產品 import 子產品名,py檔案就是子產品
import 包名/子產品名,檔案夾就是包,必須包含有 

__init__.py

數組 叫list,如[1,2] 叫array,如[1,2]
元組 叫tuple,如(1,2),不能修改
if語句 if xxx:...elif...else if(){...}else if(){...} else {}
for循環 for xxx in range(10):... for(var i=0;i<=10;i++){}
for...in循環 for k in o:... for(var k in o){}
while循環 while xxx:... while(){}
do...while循環 do{} while();

輸出輸入:

print()       輸出内容

括号内與js的log相同也可以使用函數

a=30

print(a)      

input()輸入内容

a=input('請輸入内容')

print(a)      

數組list

可以使用空數組

a=['a','b','c']
print(a[0])      

圓組tuple

tuple和list非常類似,但是tuple一旦初始化就不能修改,它也沒有append(),insert()這樣的方法。其他擷取元素的方法和list是一樣的

a=('a','b')
print(a[0])      

if  else

python中的if文法和js中的有一點不同,js中使用為if(){}else{},而python為if():      else;

a=20
if(a>2):
print('a大于2')
else:
print('a小于2')      

if...elif...else...語句格式:

               if xxx1:

                   事情1

               elif xxx2:

                   事情2

               elif xxx3:

                   事情3

               else:

                   其他的事情

s = 30
if s > 90:
    print('我很優秀')
elif s >=30 < 40:
    print('我還沒及格')
elif s > 40 < 50:
    print('我才50分')
else:
    print('算了,不考了')      

三目運算符

a=2
b=3
max= a if a>b else b
print(max)      

for in 周遊

執行後依次輸出數組中的内容

a = ['Michael', 'Bob', 'Tracy']
for ab in a:
    print(ab)      

max  取最大值

a=[1,2.,3,4,5,6,7,8]
print(max(a))      

abs() 求絕對值

print(abs(-3))      

輸出結果為3

資料類型轉換

說明
int(x [,base ]) 将x轉換為一個整數
float(x ) 将x轉換為一個浮點數
complex(real [,imag ]) 建立一個複數,real為實部,imag為虛部
str(x ) 将對象 x 轉換為字元串
repr(x ) 将對象 x 轉換為表達式字元串
eval(str ) 用來計算在字元串中的有效Python表達式,并傳回一個對象
tuple(s ) 将序列 s 轉換為一個元組
list(s ) 将序列 s 轉換為一個清單
chr(x ) 将一個整數轉換為一個Unicode字元
ord(x ) 将一個字元轉換為它的ASCII整數值
hex(x ) 将一個整數轉換為一個十六進制字元串
oct(x ) 将一個整數轉換為一個八進制字元串
bin(x ) 将一個整數轉換為一個二進制字元串

自定義函數  def

js中自定義函數為function a(){},python中使用def 與js有異曲同工之處,在調用,傳參上都相同

def myfunction(a,b):
    print(a+b)

myfunction(1,2)      

  格式化輸出  %

day = 6
month = 9
print('今天是%d月%d号'%(day, month))
      

  

Python文法使用

f-strings輸出

f-strings 提供一種簡潔易讀的方式, 可以在字元串中包含 Python 表達式. f-strings 以字母'f' 或 'F' 為字首, 格式化字元串使用一對單引号、雙引号、三單引号、三雙引号. 格式化字元串中

name = 'bayi'

age = 35

format_string1 = f'我的名字是 {name}, 我的年齡是 {age}'

format_string2 = f"我的名字是 {name}, 我的年齡是 {age}"

format_string3 = F'''我的名字是 {name}, 我的年齡是 {age}'''

format_string4 = F"""我的名字是 {name}, 我的年齡是 {age}"""

format_string5 = f'3 + 5 = {3 + 5}'

a = 10

b = 20

format_string6 = f'3 + 5 = {a + b}'

# 兩個花括号會被替換為一個花括号, 注意{{}} 不表示表達式

format_string7 = F'我的名字是 {{name}}, 我的年齡是 {{age}}'

** f-strings在Python3.6版中提供,檢視python版本指令:python --version ***

a='xiao'
b='po'
fstr=f'我姓{a},名{b}'
print(fstr)      

格式轉換

格式符号 轉換
%c 字元
%s
%d 有符号十進制整數
%u 無符号十進制整數
%o 八進制整數
%x 十六進制整數(小寫字母0x)
%X 十六進制整數(大寫字母0X)
%f 浮點數
%e 科學計數法(小寫'e')
%E 科學計數法(大寫“E”)
%g %f和%e 的簡寫
%G %f和%E的簡寫