python基础课程1(看代码看注释)--基本操作和数据类型
生活随笔
收集整理的這篇文章主要介紹了
python基础课程1(看代码看注释)--基本操作和数据类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python環境自行安裝,建議安裝3版本的環境。編輯器可以使用pycharm或者sublime,也可以在線上使用jupyterimport this #函數存在于模塊中,我們需要先引用這個模塊才能使用這個模塊里的函數
print('hello,world')#單引號
print("hello,world")#雙引號
print('hello,\'world')#合理使用單引號避免轉義字符的使用,減少代碼的丑陋程度(在單引號里使用單引號,在雙引號里使用雙引號)
#1.將python當成是計算器使用,從計算器開始
5 + 100
1 / 100 # 除數
10.0
100 * 10
100 - 99
100 % 3 # %取余數
100 ** 3 #10的3次方
10 **(1/3)#10開3次方
#完成更復雜的數學運算時要用到數學模塊math
import math
math.pi
math.sin(math.pi/2)#sin(90du)pi=180度
math.floor(9.2343)#向下取整,小數點后邊都不要了,就是9
math.ceil(9.3645)#向上取整,就是10
round(100/3,3)#round保留有效位數字函數,這里表示保留3位有效數字
#練習:女神取買水果,蘋果是5元/斤,葡萄15元/斤。女神買了2斤蘋果,1.5斤葡萄。請問女神買蘋果和葡萄分別花了多少錢,一共花費了多少錢?
#蘋果的花費
print(5*2)
#葡萄的花費
print(15*1.5)
#總共花費
print(5*2+15*1.5)
#1.存在的問題,脫離了題干我們無法知道數字含義;2.重復計算;3.表達不清晰(使用拼接的函數format())
#5是單價,15也是單價,我們把5賦值給apple_price表示,用grape_pricr表示15葡萄的單價
apple_price = 5
apple_weight = 2
apple_cost = apple_price * apple_weightgrape_price = 15
grape_weight = 1.5
grape_cost = grape_price * grape_weighttotal_cost = apple_cost +grape_costprint(apple_cost,grape_cost,total_cost)#format函數增強的格式化字符串函數format,對輸出進行優化,例如輸出解釋性函數:蘋果的花費為:{};葡萄的花費為:{};總共花費為:{};
print("蘋果的花費為:{};葡萄的花費為:{};總花費為:{}".format(apple_cost,grape_cost,total_cost))#format里邊的值依次替換了大括號里的值。format函數只認花括號#變量:代表某個值的名稱,如上邊題目的apple_price,若變量沒有賦值就拿來使用的話會報錯,在使用變量時必須要先賦值才能被使用
#語法糖
a = 10
b = 20
a,b = b,a
print("a is{};b is {}".format(a,b))#完成了兩個值的替換
#變量的命名規范:1.標識符的第一個字母必須是字母表中的字母(大寫或者小寫)或者一個下劃線;2.標識符的其他部分可以由字母(大寫或小寫)或者數字或者下劃線都可以
abc_127_jskdh = 10
_djgk_18_ = 12
i = 10
__name = 50
name_836 = 50
#不符合的變量命名 73syfu = 560 #字母開頭 my name = 50 #空格也是非法字符
#代碼規范建議:1.不要使用單字符取名字,很難理解該單字符含義;2.變量名能夠清晰地表達變量的意思;3.合理使用字母中間的下劃線##python的變量類型:字符串類型,數值,列表類型list,元組類型tuple,字典類型dict
#變量類型--數值類型
number = 10
number = number +10
number+=10#增值運算
number -=10
number *= 10
number /=10
import math
#乘方,開方
math.pow(3,10)#3**10
3**10
math.floor(10.38947)
math.ceil(10.387)
#度的轉換radians()
math.radians(180)#輸出了pi
math.sin(math.pi/2)
math.cos(math.pi)
min(10,8346,264,209)#取最大值
max(10.364,374)#取最小值
10 % 3#取模
divmod(10/3,3)#輸出(3,1)分別代表的是商和余數
#bool型,真命題假命題,一個True,一個False假唄,主要用在需要條件判斷的情況下唄,嚴格區分大小寫
True==1,False==0
#bool類型變量,and運算,or運算,非not運算
print(True and True) #與運算,都為真時才為真
print(True or False)#只要有一個為真時才為真
print(not True)#取反操作
True + 10#不建議這樣,這樣相加沒有意義,不過在元組時有一個特例,在接下來會講到
##字符串,在后邊講到類時會講到,在大量調試時使用,著重講解
#字符串可以用單引號或者雙引號,通過單雙引號的靈活使用可以避免不必要的字符轉義,即\
line = 'hello world'
line = "hello world\""
line = 'hello world\''line1 = "ni hao"
line2 = "yuping"
print(line1 + line2)#字符串的加法操作
print(line1 * 3)#字符串的乘法操作,會輸出三個字符串:"ni hao ni hao ni hao"
#字符串是不可變類型,相當于存儲地址是不可以改變的。變量名相當于只是一個指針,可以用python里的id(line2)函數查詢
line2 = "shukai"
#返回字符串長度
len(line2)
#返回一個身份的識別符,可以理解為返回一個變量的存儲地址
id(line2)##答疑:主要是對前文的一些回顧,尤其是代碼規范上
#字符串切片功能
line = 'huan ying da jia lai kan wo bo ke'
#取前十個字符
line[:10]#切片,取前十個字符,默認序列是從0開始的,字符串是屬于一個序列,從0-10依次類推
line[2:20:2]#從第三個字符開始,取到前20個字符,每隔2個字符取一次
line[:-10]#取后十個字符
line[::-1]#取反轉字符
line[1]#取單子字符line.title()#line+.可以看到可操作函數
line.capitalize? #快速查看函數如何使用,在函數后邊加問號,返回字符串功能;capitalize功能是對首字符進行大寫
line.center(20,'%')#至少接收一個參數,居中作用
line.count('A')#line字符串里的計數函數,就是查找該字符串出現的個數
##字符串首尾判斷
line.endswith('aaaa')#是否以我們給定的字符串結尾
line.startswith('hdhdh')#是否以我們給定的字符串開始
line.find('S',3)#尋找line字符串中是否存在S字符,返回字符的下標,不存在返回-1;3表示跳過第3個字符開始查找
line.index('S')#返回字符的下標,不存在時直接報錯,這是和find函數的區別
line.upper()#把所有字母變成大寫
line.isupper()#判斷是不是全部是大寫
line.lower()#把所有字母變小寫
line.islower()#判斷是不是全部是小寫
line.istitle()#判斷是不是標題格式??
line = ' djhsdj \n\t'##字符串中存在換行和制表符等
line.strip()##去除兩端的空格或者制表符
line.rstrip()#去除左端的空格或者制表符
line.lstrip()#去除右端的空格或者制表符
#同時對字符串的大小寫進行轉換
line.swapcase()##對大寫轉換成小寫,對小寫轉換成大寫
#函數操作之后不是更改了字符串,單獨的字符是不可以進行賦值操作的,上邊用到的所有字符串函數都是為我們生成了一個新的字符串,原有的字符串是不變的,只是存儲的指針改變了##列表:可以容納任意類型的對象,任意數量的對象;重點是列表是可變類型的
variable = []#生成了一個空列表
variable = list() #和上述效果一樣,生成了空列表
variable = [1,2,3,4,5,6,'python',[],[100,200]]
variable = []
variable.append(1)
variable.append(2)
variable.append('hgds')#表示列表是可變的,列表長度是可變的,字符串是不可以改變的
variable[0] = 10#在列表的指針為0的位置上的值替換為10,再一次驗證是可變的
#python是一種動態類型的語言,一個變量時什么類型,要看程序在運行過程中代表的變量類型是什么
var = 10
type(var)#type函數表示變量的類型
##字符串和列表類型是可以相通的,例如切片操作等
variable[:10]
variable+variable
#學習到字符串時對字符串的操作在列表里也可以使用,這里可以用的那也會用,我們統稱之為序列
##列表是一種容器型的序列,可以容納多種類型;字符串是扁平型的序列,變量值決定了這個變量的類型
#append()函數沒有返回值,而是修改了我們列表的對象
variable.append(1)#增加了1
#清空
variable.clear()
#copy函數
new_variable = variable.copy()##輸出上是沒有區別的,當我更該了new_variable的值時,會發現variable的值也被改變了,說明了兩個列表的賦值影響是一回事
id(new_variable),id(variable)##發現地址是指向同一個地址,改變指針的元素時地址不變只是改變了內部的一個值,因此一變則全變
[1,2]+[2,3]
a=[1,2]
b=[3,4]
a.extend(b)#在a中插入b,更改了a的長度
a.insert(0,100)##添加元素操作,append()函數是在末尾添加元素,insert()函數是指定位置進行添加;在第0個位置添加元素100
a.pop(0)##將第0個位置的值彈掉,沒有給傳遞參數就彈掉最后一個
a.remove(0)##移除元素操作,要移除的元素不存在就報錯
a.sort(reversed=True)##排序函數;reverse=True反轉函數##元組:不可變的列表,元組也是一個序列,但是是不可變的;除此之外不具備上述的廣泛操作,基本不可變,只有count()和index()兩個工具
var = tuple()
var = ()
type(var)
var = (1,2,3,[1,2,3])
var.count(1)##找1出現的次數
var.index(2)#找索引為2的元素##字典類型(同學們自己區分字符串和列表以及元組和字典的區別)一個字對應一個頁碼,叫做映射,在python里叫做字典
#空字典
var = {}
var = dict()
type(var)
words = {'中':100,'國':200
}
var{'中'}
location = {100,200}
location(words.index('中'))
#拉鎖函數,將一個列表拉成2個列表
new_var = list(zip(words,location))#輸出['中','國'][100,200]
dict(new_var)##列表轉化為字典使用dict()函數
list(zip([1,2],[3,4,5],[4,5,5]))
##生成一個字典
students = {'li' 'wang','sun','huang','zhao'}
money = dict.fromkeys(students,10)#每個同學給定了一個元素對象初始值
##如何訪問字典中的值
money('kid')##訪問不存在的值報錯
a = money.get('ww','100')#找不到返回空,如果給賦值了找不到可以給你返回賦予的值
money.keys()#返回鍵
money.items()#返回值
money.pop('wang')#刪除操作
money['wang'] = 100#可以賦值,不存在的值時不可以訪問的
money.setdefault('haha',1000)#賦值
總結
以上是生活随笔為你收集整理的python基础课程1(看代码看注释)--基本操作和数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python基础课程6(看代码看注释)-
- 下一篇: 【OpenCV 例程200篇】79. 频