- python追求的是最后的解決方案,相比其他語言是追求多種方案
- 不需要管理內存之類的細節
- 有豐富的庫
- 使用Python搭建網站,后臺服務比較容易維護,新增功能也容易實現---YouTube,知乎,豆瓣
- 自動化運維:強大的開發工具和完整的工具鏈,批量處理任務
- 數據分析師:快速開發的特性讓你迅速驗證你的想法
- 游戲開發者:熱更新
- 自動化特性:Python是目前比較流行的script
- 網站開發:豐富的django,flask框架,設計模板bootstrap,能適配移動端
- 爬蟲或處理大量信息
- 包裝其他語言的程序:混合編譯其他語言的庫
下載參考這里
廖雪峰
python下載
IDE下載Pycharm
Pycharm快速上手視頻
官方文檔
#coding:utf-8
what_he_dose = ' plays '
his_instrument = 'guitar'
his_name = 'Robert Johnson 帥哥'
artist_intro = his_name + what_he_dose +his_instrument
print(artist_intro)
print(type(artist_intro))
num = 1
string = '2'
num2 = int(string)
print(num+num2)
word = ('words' * 3 +' ') * 2
print(word)
word = 'a loooong word'
num = 12
string = 'bang! '
total = string * (len(word) - 12)
print(total)
name = 'My name is Tank'
print(name[0])
print(name[-4]) #倒數第四個
print(name[11:15])
print(name[1:])
print(name[:6])
# \ 表示換行 直接敲回車
word = 'frass' \
'sdsdsd' \
'sdsdssd' \
'sdsddsdsds'
url = 'https://www.baidu.com/sdsddfsgraeee244dadsad.jpg'
file_name = url[-10:]
print(file_name)
phone_number = '15077123276'
hiding_number = phone_number.replace(phone_number[:7],"*" * 9)
print(hiding_number)
search = '168'
num_a = '1386-168-0006'
num_b = '1681-222-0006'
print(search + ' is at ' + str(num_a.find(search)) + ' to ' + str(num_a.find(search) + len(search)) + ' of num_a')
print('{} a word she can get what she {} for'.format('came','with'))
print('{prepostation} a word she can get what she {sufixx} for'.format(prepostation ='came',sufixx = 'with'))
city = input("write down the name 偶發city \n")
url = "http://www.baidu.com/city={}".format(city)
print(url)
計算詞頻
import string
path = '/Users/JayLee/Desktop/screenshort/Walden.txt'
with open(path) as text:
words = [ raw_word.strip(string.punctuation).lower() for raw_word in text.read().split()] #去除標點符號
words_index = set(words) #去重
couts_dict = {index:words.count(index) for index in words_index} #單詞為key 出現的個數為value
# print(couts_dict)
for word in sorted(couts_dict,key = lambda x: couts_dict[x],reverse=True): #出現的個數來做排序
print('{} -- {}times'.format(word,couts_dict[word]))
- class定義
縮進很重要,已縮進來表示語句的結束
class Car:
formula = ['wheel','enqine','glasss']
def drive(self):
print('wowowowow~~@!')
my_car = Car()
# print(my_car.formula)
#
# for elemnt in my_car.formula:
# print(elemnt)
my_car.local_log = 'LOMO' #動態創建屬性
print(my_car.local_log)
my_car.drive()
隨機生成姓名
考察 yield 的用法
ln_path = '/Users/JayLee/Desktop/screenshort/last_name.txt'
fn_path = '/Users/JayLee/Desktop/screenshort/first_name.txt'
fn = []
ln1 = []
ln2 = []
with open(fn_path,'r') as f:
for line in f.readlines():
fn.append(line.split('\n') [0]) #過濾\n
# print(fn)
with open(ln_path,'r') as f:
for line in f.readlines():
if len(line.split('\n')[0]) == 1:
ln1.append(line.split('\n')[0]) #單個字
else:
ln2.append(line.split('\n')[0]) #多個字
# print(ln1)
# print('=' * 70)
# print(ln2)
fn = tuple(fn) #元組比列表節省內存
ln1 = tuple(ln1)
ln2 = tuple(ln2)
# print(fn)
import random
class FakeUser:
def fake_name(self,amount = 1,one_word =False,two_word =False):
n = 0
while n <= amount:
if one_word:
full_name = random.choice(fn) + random.choice(ln1)
elif two_word:
full_name = random.choice(fn) + random.choice(ln2)
else:
full_name = random.choice(fn) + random.choice(ln1+ln2)
# print('full_name: '+full_name)
yield full_name
n +=1
def fake_gener(self,amount = 1):
n=0
while n <=amount:
gender = random.choice(['man','woman','unkown'])
yield gender
n +=1
class SnsUser(FakeUser):
def get_followers(self,amount = 1,few = False,a_lot = True):
n = 0
while n <= amount:
if few:
followers = random.randrange(1,50)
elif a_lot:
followers = random.randrange(200,10000)
yield followers
n+=1
user_a = FakeUser()
user_b = SnsUser()
for name in user_a.fake_name(30):
print(name)
for gender in user_b.fake_gener(20):
print(gender)
# user_a.fake_name(True)
# user_b.get_followers(few=True)
豐富的三方庫
awesome-python
中文翻譯官方文檔
老齊github教程
www.runoob.com