变量(variables)

变量命名习惯

驼峰体

AgeOfOldboy = 56

NumberOfStudents = 80


下划线(官方推荐)

age_of_oldboy = 56

number_of_student = 80


定义变量的low方式

1.变量名为中文、拼音     老男孩的年龄=56

2.变量名过长             oldboy_nianling=56

3. 变量名词不达意        name2=‘北京市昌平区’


理想的表达方式

age_of_oldboy = 56

oldboy_gf_name = lisa


常量

常量即指不变的量,或在程序运行过程中不会改变的量

常量约定俗成用变量名全部大写代表常量

AGE_OF_OLDBOY = 56 


读取用户输入

#name = input("what is your name")

#print("hello" + name )

#print("hello", name )


username = input("username: ")

password = input("password: ")


注释

用#


数字类型

整数:int

小数:float

python 自动识别数字类型

type(age)


数据类型

基本类型:数字、字符串、布尔

数据集:列表、元祖、字典、集合


数据类型-数字类型

int(整型):32位取值范围-2**31~2**31-1

64位取值范围-2**63~2**63-1


long(长整型)

实际大小取决于内存,python3中取消long


小数:float


字符串

加了引号的字符都被认为是字符串

name = "alex li"

hometown = 'shanghai'

msg = '''my name is alex, iam 22 years old!'''

单双引号功能基本相同,区分情景

msg = "my name is alix, i'm 22 years old!"


多引号

msg = ''' 今天我想写诗,歌颂一个我的同学'''

不加引号字符串默认为变量


字符串拼接

使用+实现拼接如 name=alice age= 10   name +age =alice10


数据类型-布尔型

两个值:TRUE(真)和FALSE(假)


格式化输出

name = input("name: ")

age = int(input("Age: "))

job = input("job: ")

hometown = input("howntown: ")

info = """======info of %s======

name = %s

age = %s

job = %s

hometown = %s

===========end========

"""%(name,name,age,job,hometown)

#%S = string

#%d = digit

#%f = float

print(info)

print(type(age))



运算符

算术、比较、逻辑、赋值、成员、身份、位

算术:+、-、*、/、%(取余)、//(取整除)、**(次方)

比较:==/<>(等于)、!=(不等于)、>、<、>=、<=

赋值:=、+=(c+=a等于c=c+a)、-=、*=、/=

逻辑: and、or、not(反向值)


流程控制

单分支

if 条件:

满足条件后要执行的代码

双分支

if 条件:

满足条件执行代码

else:

if条件不满足就执行这段代码


多分支

if 条件:

满足条件执行代码

elif 条件:

上面的条件不满足就走这段

elif 条件:

上面的条件不满足就走这段

elif 条件:

上面的条件不满足就走这段

else:

上面所有的条件不满足就走这段


while循环

while 条件:

执行代码。。。。。

if count ==50:

pass #过


Dead Loop

死循环

while True:


循环终止

break:完全跳出循环

continue: 跳出这一次循环


while else


python里使用编码

python 2代码第1行输入 #! -*- coding: utf-8 -*-


列表

功能:创建、查询、切片、增加、修改、删除、循环、排序

L1 = [] #定义空列表

L2 = ['a','b','c','d'] #存4个值,索引未0-3

L3 = ['abc',['def','ghi']] #嵌套列表

创建空列表:list()、[]

L2 = ['a','b','c','d','a','e',1,2]

查询:L2[2]->'c'

  L2.index('a')-> 1

  L2.count(4) ->  查找重复数

切片:L2[0:3] 顾头不顾尾 -> ['a','b','c']

  L2[0:-1] -> ['a','b','c','d','a','e',1]

  L2[3:6]-> ['d','a','e']

  L2[3:]-> ['d','a','e',1,2]

  L2[:3]-> ['a','b','c']

  L2[1:6:2]-> ['b','d','e']

  L2[:]-> ['a','b','c','d','a','e',1,2]

  L2[::2]-> ['a','c','a',1] 步长为2

  

增加

L2.append(‘peiqi’)//在表最后追加

L2.insert(1(表索引),'peiqi'(所插内容)) //插入

修改

L2[2] = 'ABC'

L2[1:3] = 'jack liu' -> ['a','j','a','c','k',' ','l','i','u','d','a','e',1,2]


删除

L2.pop()//删除表最后一个元素

L2.remove(‘j’)

del L2[0] -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]

del L2[2:6]

del L2 //删除表


循环

for i in L2:(i为临时变量)

print(i) -> ['j','a','c','k',' ','l','i','u','d','a','e',1,2]


range(10) 循环临时列表


排序

n = [1,3,4,5,7,9,13]

n.sort() //排序位置按照ASCII码表顺序排序

n.reverse() //反转


列表拼起来 //n与n2都为列表

n + n2 

n.extend(n2)


清空表元素

n.clear()


深浅copy

1.查看内存地址

names = ['a','c','e',1,3,2,4,5]

id(names)

id(name[0])


a = 1 b = a  b指向1的地址

n2 = names.copy()

names =  ['a','c','e',1,3,2,4,5,['LT',24]

name [-1][0]-> 'LT'

import copy

n4 = copy.deepcopy(names)



字符串类型

 1. 有序

 2. 不可变