python---10月


7. Reverse Integerpython

將整數翻轉。 注意123000翻轉爲321 -123 翻轉爲-321mysql

方法7. if x < 0:
x = -1 * int( str(0 - x)[::-1] )
else:
x = int( str(x)[::-1] )
linux


轉爲字符串形式, x0 時 先 0-x 變爲整數。c++

注意: int 能夠直接把 整數前面 的0 去掉。git


Python3 中比較github

Import operatorsql

operator.lt(a, b) less than數據庫

operator.le(a, b)編程

operator.eq(a, b)vim

operator.ne(a, b)

operator.ge(a, b)

operator.gt(a, b)


再次複習range的用法:

Range5) 則 爲0 4

Array = [1,2,3,4,5]

Array[0:] 從標號0 開始

Array[:-1] 列出-1 以前的。:表明省略的

4 3 2 1


Array3-3】:


兩個 : 表示 以某個step 跳步

array【::2】 冒號在前面。

range(6,1,-1)思是從61間隔-1-1的意思是倒着數。

2018101019:29:04

通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你本身眼中,你是你本身(__name__ == '__main__')

if __name__ == '__main__'的意思是:當.py文件被直接運行時,if __name__ == '__main__'之下的代碼塊將被運行;當.py文件以模塊形式被導入時,if __name__ == '__main__'之下的代碼塊不被運行。


Lee27 remove element

# #注意讀懂題目
# Given an array nums and a value val,
# remove all instances of that value in-place and return the new length.
# Do not allocate extra space for another array,
# you must do this by modifying the input array in-place with O(1) extra memory.
# The order of elements can be changed. It doesn't matter what you leave beyond the new length.

#
只要求返回長度
class Solution(object):
def
removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
length = 0
for i in xrange(len(nums)):
if
nums[i] != val:
nums[length] = nums[i]
length
+= 1
return length

好比 【1 2 2 4 5 】 運行後爲 【1 2 5



Xrange 區別range

Xrange 使用生成器,佔用的空間小。

defremoveElement(self, nums, val):

while val innums:

nums.remove(val)

return len(nums)




20181022

pycharm 中自定義了一個user

在其餘地方進行實例化時, newUser = user() user下方老是有紅色的下劃線。 這種狀況未必是錯誤,也多是由於命名,格式等不符合規範。 將類名改成 User,首字母大寫,問題解決。

另外,newUser = user() user下方有紅色下劃線,也能夠去類user下看狀況的。


不少時候,報錯在一句。當你怎麼都看不出來錯誤的時候,能夠看看上一句。說不定錯誤就在那裏呀。


4、python知識

4.1heapq堆的使用

假設須要維護一個列表,這個列表不斷有新的元素加入,你須要在任什麼時候候很方便的獲得列表中的最大()值,所以要求列表始終處於排序完畢狀態,。

一個最簡單的方法:每次插入新的數據時,調用一次sort方法,這樣能夠保證列表的順序。

在數據量很小的狀況下,這種方法可行。可是,sort方法實現並不高明,採用了天然歸併排序,雖然排序開銷已經被儘可能的壓縮了,複雜度大概是O(nlogn)


Import heapq


另外一種解決方案就是heapq,它是Python的一個標準庫。heapq實現了一種叫作堆的數據結構,是一種簡潔的二叉樹。他能確保父節點老是比子節點小,

heappush(self.event_queue, (first_record_time, "Monitor")) (first_record_time, "Monitor") push到self.event_queue (是一個列表中)中

heappop(self.event_queue, (first_record_time, "Monitor"))



4.2 Queue的使用

隊列,能夠實現fifo,lifo,或者其餘的優先級輸出。


self.user_queue = queue.Queue()

self.user_queue.get()

self.user_queue.put()


4.3


4.3.1類屬性和類實例屬性

class Student(object):

count = 0

books = []  #類屬性,因此的實例 共有的

def __init__(self, name, age):

self.name = name

self.age = age #類實例屬性,不一樣的實例各自擁有

 

4.3.2 類方法和實例方法

實例方法 def hahaself): 參數是self

類方法 def weicls) : 參數是cls


4.3.3 類的相互做用

在一個類中,能夠生成另外一個類的實例。

好比在類windows裏, next_user = User(next_user_arrive_time)

使用了類User,新生成實例 next_user ,傳入的參數是next_user_arrive_time


4.4其餘

import queue

Py3中 爲小寫,py2中爲Queue queue.Queue


堆的這種數據結構:是一個二叉樹,

Heapq模塊 能夠 對 堆進行操做


Pytnonnumpy裏有現成的生成服從某個機率分佈的隨機變量,並且能夠本身設置參數和隨機數的數量。numpy.random.beta(a, b[, size]) Beta分佈隨機變量


numpy.random.binomial(n, p[, size]) 二項分佈隨機變量


numpy.random.chisquare(df[, size]) 卡方分佈隨機變量


numpy.random.dirichlet(alpha[, size]) 狄利克雷分佈隨機變量


numpy.random.exponential([scale, size]) 指數分佈隨機變量


numpy.random.geometric(p[, size]) 幾何分佈隨機變量


numpy.random.normal([loc, scale, size]) 正態分佈隨機變量


numpy.random.poisson([lam, size]) 泊松分佈隨機變量


numpy.random.uniform([low, high, size]) 均勻分佈隨機變量


numpy.random.wald(mean, scale[, size]) Wald分佈隨機變量



4.5寫代碼中碰到的錯誤

常常見到的錯誤:仔細尋找錯誤的根源,通常是調用某個子函數時,子函數內部出的問題。致使主函數運行到這一步時,執行不下去了,就報了個錯

Traceback (most recent call last):

File "/home/zhangyanhe/PycharmProjects/test/排隊論.py", line 72, in <module>

mm1.start_sim()

File "/home/zhangyanhe/PycharmProjects/test/排隊論.py", line 41, in start_sim

handle_event(a[1])

File "/home/zhangyanhe/PycharmProjects/test/排隊論.py", line 51, in handle_event

user_queue.put(next_user)

TypeError: put() missing 1 required positional argument: 'item'



2018102419:47:28

NS3 第四次做業

py查找文件

-----------------------------------------------------

2018102613:37:14


寫完這部分,讀歷史記錄進行總結

混合編程問題 python cc

Waf大概就是基於python的一個相似make的程序。其實能夠在python中直接調用cc程序的啊 絕對是能夠的。生成動態連接庫 .so文件,到python中調用。可是這個方法對c很成立。在c++中有各類問題。很煩人. 不要讀中文博客,不少傻逼寫的東西。


問題: gcc找不到頭文件 :在最後 用-Ii L選項 把目錄加上編譯:

先實踐,而後寫寫原理:


vim查找:normal模式下按下/便可進入查找模式,輸入要查找的字符串並按下回車。 Vim會跳轉到第一個匹配。按下n查找下一個,按下N查找上一個。




走了很遠 了 2018102621:34:31

1.使用swig 實現c++連接到python中的操做。http://cering.github.io/2015/12/08/%E4%BD%BF%E7%94%A8SWIG%E5%AE%9E%E7%8E%B0Python%E8%B0%83%E7%94%A8C-C-%E4%BB%A3%E7%A0%81/

碰到問題:gcc找不到python.h ,設置環境變量,增長gcc的搜索路徑:$C_INCLUDE_PATH=/opt/example/include

$export C_INCLUDE_PATH


$CPLUS_INCLUDE_PATH=/opt/example/include

$export CPLUS_INCLUDE_PATH


$LIBRARY_PATH=/opt/example/lib

$export LIBRARY_PATH


仍是沒搞定:不少不懂的啊。底層的東西都不明白。慢慢來。放棄此題。


2018102712:17:02 py練習題2 數據庫 mysql

https://blog.csdn.net/San_South/article/details/80715682

linuxpipUbuntu16.04pip報錯ModuleNotFoundError: No module named 'pip._internal'

相關文章
相關標籤/搜索