Python基础学习笔记(1)

时间:2021-09-28 06:52:26

《Python快速上手》学习笔记

1.数学操作符

** 指数 例子:2**3 = 8

// 整除/商数取证 例子:23//4 = 5 23/7 = 3 (向下取整)

/ 得出是float型 例子: 2/1 = 2.0 1010/5 = 202.0

2.字符串连接和复制

"Alice" + 42 
>>>TypeError:Can't convert "int" object to str implicity

Python认为你视图将一个整数连接到字符串”Alice”。代码必须显示地将整数转换为字符串,因为Python不能完成自动转换。

可以改成 "Alice"+str(42) 就可以了。

操作符只能用于两个数字(作为乘法),或一个字符串和一个整型(作为字符串复制操作符)。

(2+3)*6
>>>30
"Alice" * 5
>>>"AliceAliceAliceAliceAlice"
"Alice" * 5.0
>>>TypeError:can't multiply sequence by non-int of type "float"

3.len函数

len() 方法返回对象(字符、列表、元组等)长度或项目个数。

str = "runoob"
len(str)
Out[3]: 6

str1 = "run oob"
len(str1)
Out[5]: 7

str1 = " run oob"
len(str1)
Out[7]: 8

str1 = " run obb "
len(str1)
Out[9]: 9

str1 = " run oob."
len(str1)
Out[11]: 9

len("")
Out[12]: 0

len(" ")
Out[13]: 1

总结:” “中地空格或者 . 都算入长度值内,”“长度值是0,” “长度值是1。

4.str()、int()和float()函数

int() 函数用于将一个字符串或数字转换为整型。

int(x, base=10) 其中x – 字符串或数字。base – 进制数,默认十进制。

>>>int()               # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
>>> int('10',8)
8

>>> int(99.99)
99
>>>int("99.99")
ValueError: invalid literal for int() with base 10: '99.99'

float() 函数用于将整数和字符串转换成浮点数。

>>>float(1)
1.0
>>> float(112)
112.0
>>> float(-123.6)
-123.6
>>> float('123') # 字符串
123.0

str() 返回一个对象的string格式。

>>>s = 'RUNOOB'
>>> str(s)
'RUNOOB'
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> str(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>

附注:int()函数总是返回一个字符串,即便用户输入的是一个数字。

>> spam = input()
101
>> spam
'101'

5.Python变量类型

Python有五个标准的数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元祖)
  • Dictionary(字典)

数据类型分为:数字型和非数字型。

数字型包括int(整型),long(长整型),float(浮点型),complex(复数型);

非数字型包括string(字符串),list(列表),tuple(元组)和dictionary(字典) ;

非数字型的不同点:列表 可以直接赋值,元组不可以赋值,字典按照 dict[k]=v 的方式赋值。

Python列表:

列表用 [ ] 标识,是 python 最通用的复合数据类型。

它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表

Python元祖

元组是另一个数据类型,类似于List(列表)。

元组用”()”标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')

print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组

#以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元组中是非法应用
list[2] = 1000 # 列表中是合法应用

Python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用”{ }”标识。字典由索引(key)和它对应的值value组成。

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值

6.文本和字符串相等判断

虽然数字的字符串被认为与整型值和浮点型值完全不同,但整型值可以与浮点值相等。

>>> 42 == "42"
False
>>> 42 ==42.0
True
>>> 42.0 == 0042.000
True

7.布尔值和布尔操作符

布尔值:True False

布尔操作符:and or not

8.Python条件语句

if else、if elif、while、for都属于控制流语句

条件语句if使用:

1.if基本用法
if 判断条件:
执行语句……
else
执行语句……

2.当判断条件为多个值时,可以使用以下形式:
if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……

num = 5
if num == 3: # 判断num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零时输出
print 'error'
else:
print 'roadman' # 条件均不成立时输出

简单的语句组:

你也可以在同一行的位置上使用if条件判断语句,如下实例:


var = 100

if ( var == 100 ) : print "变量 var 的值为100"

print "Good bye!"

9.Python循环语句

Python提供了for循环和while循环(在Python中没有do..while循环),还有嵌套循环( 你可以在while循环体中嵌套for循环)。

Python循环控制语句:break、continue和pass,循环控制语句可以更改语句执行的顺序。

实际上,只能咋while和for循环内部使用continue和break语句,如果试图在别处使用这些语句,Python将报错。

#if语句
spam = 0
if spam < 5:
print("Hello World")
spam = spam+1

#while语句
spam = 0
while spam < 5:
print("Hello World")
spam = spam+1

对于if条件语句只执行1次。
对于while循环语句执行5次。
在while循环中,条件总是在每次“迭代”开始时检查,如果条件为True,子句就会执行,然后,再次检查条件。当条件第一次为False时,while子句就跳过。

break语句:

#程序可能持续运行下去
name = " "
while name != "your name":
print("Please type you name.")
name =input()
print("Thank you!")

#break语句
while True:
print("Please type you name.")
name = input()
if name == "your name":
break
print("Thank you!")

continue语句:

while True:
print("Who are you?")
name = input()
if name != "Joe":
continue
print("Hello Joe. What is the password")
password = input()
if password == "swordfish":
break
print("Access granted")

10.Python的for循环和嵌套循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串,常用的还有for和range()函数联合使用。

for letter in 'Python':     # 第一个实例
print '当前字母 :', letter

fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print '当前水果 :', fruit

通过序列索引迭代循环:

fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]

print "Good bye!"

在条件为True时,while循环就会继续循环。但如果你想让一个代码块执行固定次数,可以通过for循环语句和range()函数来实现。

##python中的内置函数range(),其中参数'5'代表:从0到10的一个序列,即生成长度为5的一个序列
for i in range(5):
print("现在输出的数字是:" + i)

#当然,我们可以自定义我们需要的起始点和结束点
#我们定义了一个从5开始的起始点,到100结束的结束点
print('range(5,100)表示:',range(5,100))
listB = [i for i in range(5,100)]
print(listB)

#定义了这些后,我们还可以定义步长
下面我们定义一个从1开始到30结束,步长为3的列表
print('range(1,30,3)表示:',range(1,30,3))
listC = [i for i in range(1,30,3)]
print(listC)

Python嵌套循环:

#Python for 循环嵌套语法:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)

#Python while 循环嵌套语法:
while expression:
while expression:
statement(s)
statement(s)

Python pass语句:

Python pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print '这是 pass 块'
print '当前字母 :', letter

print "Good bye!"