Python之旅

參考 http://www.ituring.com.cn/book/1863

  • 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


三方庫的安裝教程

http://study.163.com/course/courseLearn.htm?courseId=1002794001#/learn/text?lessonId=1003186006&courseId=1002794001

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,593評論 25 708
  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,594評論 6 427
  • Python基本知識:Python 是一種高級語言,簡潔,代碼少,C語言要寫1000行代碼,Java只需要寫100...
    mrwangyong閱讀 288評論 0 1
  • 姓名:周如川 公司:紹興市柯橋恰合紡織有限公司 【日精進打卡第8天】 【知~勤學】 1、《六項精進》大綱3遍,共2...
    川流不西閱讀 199評論 0 1
  • 首先聲明一下,我寫這篇文章沒有要噴國產或者說國外的電影好,我只是讓大家進行對比,國內和國外的差距究竟在什么地方。(...
    趙萬龍閱讀 3,363評論 0 0