本篇文章參考了python3-in-one-pic。 javascript
這篇文章的主要目的是但願你們在看完以後可以對python的主體知識有個大體的瞭解,並且每一個基礎知識都有必定的例子作支撐,可以更容易理解記憶。主體內容都是從上述網址中搬移過來的,前期主要作了一些翻譯工做,後期會對裏面的語句進行詳細解析。a = 1
A = 2
print(a is not A) # True
複製代碼
# 註釋會被忽略(Comments will be ignored)
複製代碼
每個首行縮進使用4個空格(Use 4 spaces per indentation)
複製代碼
a = 1
b = 0x10 # 16
print(type(a)) # <class 'int'>
複製代碼
C = 1.2
d = .5 # 0.5
g = .314e1 # 3.14
print(type(g)) # <class 'float'>
複製代碼
e = 1 + 2j
f = complex(1, 2)
print(type(e)) # <class 'complex'>
print(f == e) # True
複製代碼
## Operators:+-*/**//%
print(1 + 1) # 2
print(2 - 2) # 0
print(3 * 3) # 9
print(5 / 4) # 1.25
print(2 ** 10) # 1024
print(5 // 4) # 1
print(5 % 4) # 1
複製代碼
# Integer/String -> Float
print(float.__doc__)
"""
float(x)->floating point number
Convert a string or number to a floating point number, if possible.
"""
print(float(3)) # 3.0
print(3 / 1) # 3.0
print(float("3.14")) # 3.14
# Float/String -> Integer
print(int.__doc__)
"""
int(x=0)->integer
int(x,base=10)->integer
...
"""
print(int(3.14)) # 3
print(int("3",base = 10)) # 3
print(int("1010",base = 2)) # 10
print(int("0b1010",base = 8)) # 10
複製代碼
s1 = ':dog:\n'
s2 = "Dogge's home"
s3 = """
Hel1o,
Dogge!
"""
print(type(s1)) # <class 'str'>
print("%s,%s,%s"%(s1,s2,s3))
# :dog:
# , Dogge's home,
# Hello,
# Dogge!
複製代碼
print(len(s1)) # 6
複製代碼
s = 'study and practice'
print('{0}:{1}'.format(s[:5], s[-8:])) # study:practice
複製代碼
print("abc" + "." + "xyz") # "abc.xyz"
複製代碼
print(str.__doc__)
"""
strCobject='') -> str
str(bytes_or_buffer[, encoding[, errors]) -> str
"""
print(str(3.14)) # "3.14"
print(str(3)) # "3"
print(str([1,2,3])) # "[1,2,3]"
print(str((1,2,3))) # "(1,2,3)"
print(str({1,2,3})) # "{1,2,3}"
print(str({'python': '*.py', 'javascript': '*.js'}))
"{'python': '*.py', 'javascript': '*.js'}"
複製代碼
byt = b'abc'
print(type(byt)) # <class 'bytes'>
print(byt[0] == 'a') # False
print(byt[0] == 97) # True
複製代碼
print(len(byt)) # 3
複製代碼
True
False
print(type(True)) # <class 'bool'>
複製代碼
print(None is None) # True
print(type(None)) # <class 'NoneType'>
複製代碼
l = ['python', 3, 'in', 'one']
print(type(l)) # <class 'list'>
複製代碼
print(len(l)) # 4
複製代碼
print(1[0]) # 'python'
print(1[-1]) # 'one'
print(1[1:-1]) # [3, 'in']
複製代碼
l.append(' pic') # None
# l == ['python', 3, 'in', 'one', 'pic']
l.insert(2,'.4.1') # None
# l == ['python', 3, '.4.1', 'in', 'one', 'pic']
l.extend([!',!'])
# l == ['python', 3, '.4.1', 'in', 'one', 'pic', '!', '!']
print(1. pop()) # '!'
# l == ['python', 3, '.4.1', 'in', 'one', 'pic', '!']
print(1. pop(2)) # '.4.1'
# l == ['python', 3, 'in', 'one', 'pic', '!']
l.remove("in")
# l == ['python', 3, 'one', 'pic', '!']
del l[2]
# l == ['python', 3, 'pic', '!']
複製代碼
print(l.index('pic')) # 2
複製代碼
不可更改的列表(Immutable list)java
tp=(1,2,3,[4,5])
print(type(tp)) # <class 'tuple'>
## Length
print(len(tp)) # 4
print(tp[2]) # 3
tp[3][1]=6
print(tp) # (1, 2, 3, [4, 6])
## Single element
tp=(1,) # Not tp = (1)
複製代碼
分配多個變量值(assign multiple values)python
v = (3, 2, 'a')
(c, b, a) = v
print(a, b, c) # a 2 3
複製代碼
st = {'s','e','T'}
print(type(st)) # <class 'set'>
##Length
print(ien(st)) # 3
##Empty
st = set()
print(len(st)) # 0
st = {}
print(type(st)) # <class 'dict'>
Alter
st = set(['s', 'e', 'T'])
st.add('t') # st == {'s', 'e', 't', 'T'}
st.add('t") # st == {'s', 'e', 't', 'T'}
st.update(['!',!'])
# st == {'s', 'e', 't', 'T', '!'}
st.discard('t') # st == {'T',!",'s','e'} # No Error
st.remove('T') # st == {'s', 'e', '!'} # KeyError
st.pop() # 's'
# st == {'e'}
st.clear() # st == set()
複製代碼
dic = {}
print(type(dic)) # <class 'dict'>
dic = {'k1': 'v1', 'k2': 'v2'}
## Length
print(len(dic)) # 2
print(dic['k2']) # 'v2'
print(dic.get('k1')) # 'v1'
print(dic.get('k3','v0')) # 'vo'
dic['k2'] = 'v3'
print(dic) # {'k1': 'v1', 'k2': 'v3'}
print('k2' in dic) # True
print('v1' in dic) # False
複製代碼
import sys
if sys.version_info. major < 3:
print("Version 2.X")
elif sys.version_info. major > 3:
print("Future")
else:
print("Version 3.X")
複製代碼
for i in "Hello":
print(i)
複製代碼
prod = 1
i = 1
while i < 10:
prod = prod * i
i += 1
print(prod)
複製代碼
for n in range(2, 10):
if n % 2 == 0:
print("Found an even number", n)
continue
if n > 5:
print("GT 5!")
break
複製代碼
python = iter("Python")
print(python)
# <str_iterator object at 0x10293f8d0>
for i in python:
print(i)
# P
# y
# t
# h
# o
# n
def reverse(data):
for index in range(len(data)-1, -1, -1):
yield data[index]
nohtyp = reverse("Python")
print(nohtyp)
# <generator object reverse at 9x1829539e8>
for i in nohtyp:
print(i)
# n
# o
# h
# t
# y
# P
複製代碼
s = [2 * x for x in range(10) if x ** 2 > 3]
print(s)
# [4, 6, 8, 10, 12, 14, 16, 18]
pairs = [(x, y)for x in range(2) for y in range(2)]
print(pairs)
# [(0, 0), (0, 1), (1, 0), (1, 1)]
複製代碼
s = {2 * x for x in range(10) if x ** 2 > 3}
print(s)
# 4, 6, 8, 10, 12, 14, 16, 18}
pairs = set([(x, y)for x in range(2) for y in range(2)])
print(pairs)
# {(0, 1), (1, 0), (e, 0), (1, 1)}
複製代碼
ls = {s: len(s) for s in ["Python", "Javascript", "Golang"]}
print(ls)
# {"Python': 6, ' Javascript': 10, ' Golang': 6}
s1 = {v: k for k, v in ls.items)}
print(sl)
# {10: 'Javascript', 6: 'Golang'}
複製代碼
def f():
"""return 'Hello, World!'"""
return "Hello, World!"
print(f()) # "Hello, World!"
print(f.__doc__) # "return 'Hello, World!'"
複製代碼
def f(name = "World"):
"""return 'Hello, $name'"""
return "Hello,{}!".format(name)
print(f()) # 'Hello, World!'
print(f("Python")) # 'Hello, Python!'
複製代碼
def f(v,l = "Python"):
"""return '$v, $l'"""
return "{}, {}!".format(v, l)
print(f("Hello")) # "Hello, Python!"
print(f("Bye", "C/C++")) # "Bye, C/C++!"
複製代碼
def f(*args, con = "&"):
print(isinstance(args, tuple))
print("Hello", con.join(args))
f("Python", "C", "C++", con = "/")
# True
# "Hello Python/C/C++"
def f(*args, **kargs):
print("args", args)
print("kargs", kargs)
print("FP: {} & Scripts: {}".format(kargs.get("fp"), "/".join(args)))
f("Python", "Javascript", ms = "C++", fp = "Haskell")
# args ('Python', 'Javascript')
# kargs {'ms': 'C++', 'fp': 'Haskell'}
# FP: Haskell and Scripts: Python/Javascript
複製代碼
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key = lambda pair: pair[1])
print(pairs)
"[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]"
pairs.sort(key = lambda pair: pair[0])
print(pairs)
"[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]"
複製代碼
def log(f):
def wrapper():
print("Hey log~")
f()
print("Bye log~")
return wrapper
@Log
def fa():
print("This is fa!")
# Equal to...
def fb():
print("This is fb!")
fb = Log(fb)
fa()
print("*"*10)
fb()
# Hey log~
# This is fa!
# Bye log~
# **********
# Hey log~
# This is fb!
# Bye log~
複製代碼
class Animal:
"""This is an Animal."""
def fly():
print("I can fly!")
a = Animal()
a.fly() # I can fly!
print(a.__doc__) # This is an Animal
複製代碼
class Animal:
"""This is an Animal"""
def __init__(self, can_fly = False):
print("Calling__init__() when instantiation!")
self.can_fly = can_fly
def fly(self):
if self.can_fly:
print("I CAN fly!")
else:
print("I can not fly!")
a = Animal() # Calling __init__() when instantiation!
a.fly() # I can not fly!
b = Animal(can_fly = True) # Calling __init__() when instantiation!
b.fly() # I CAN fly!
複製代碼
class Animal:
pass
class Human:
pass
a = Animal()
h = Human()
print(isinstance(a,Animal)) # True
print(isinstance(h,Animal)) # False
複製代碼
class Animal:
"""This is an Animal"""
def __init__(self, can_fly = False):
self.can_fly = can_fly
def fly(self):
if self.can_fly:
print("I CAN fly!")
else:
print("I can not fly!")
class Dog(Animal):
"""This is a Dog"""
def bark(self):
print("Woof!")
d = Dog()
d.fly() # I can not fly!
d.bark() # Woof!
複製代碼
class Animal:
"""This is an Animal"""
def __init__(self, can_fly = False):
self.can_fly = can_fly
def fly(self):
if self.can_fly:
print("I CAN fly!")
else:
print("I can not fly!")
class Bird:
"""This is a Bird"""
def fly(self):
printC"I'm flying high!")
bird = Bird()
bird.fly() # I'm flying high!
複製代碼
import os
print(os.name)
# posix
from sys import version_info as PY_VERSION
print("VERSON:{}.{}".format(PY_VERSION.major, PY_VERSION. minor))
# VERSON:3.5
from math import *
print(pi)
# 3.141592653589793
複製代碼
1.current directory
2.echo $PYTHONPATH
3.sys.path
複製代碼
""
MyModule/
|--SubModuleOne/
|--__init__.py
|--smo.py
# smo.py
def run):
print("Running MyModule.SubModuleOne. smo!")
"""
from MyModule.SubModule import smo
smo.run()
# Running MyModule.SubModuleOne.smo!
複製代碼