python基础类知识二

 

推荐书籍


三体
百年孤独
硅谷钢铁侠

 1、变量

1.1.变量的作用

  • 重复调用
  • 存储数据的容器[内存存储]

1.2.变量定义的规则

1、变量名只能包含字符串、数字、_;

2、变量名不能以数字开头;

3、不要使用一些关键字做为变量名;(如:while,for,continue,break,if,else.........);

 1.3.变量的赋值

变量名 = 变量值[变量名,'str',int等]

name = 'sunny' 
print (name) #3.0x
同时赋值:
name,password = 'sunny','123456'

扩展常量一般表示方法(python中没有常量一说,只能区分)

一般用全大写来表示

NAME = 'sunny'

2、PYC

2.1 .pyc

是字节码,python可以读懂的语言

2.2 python的运行过程
1.执行hello.py
2.编译成hello.pyc
3.python将hello.pyc编译成机器语言
4.python将机器语言转换成hello.pyc
5.将执行结果返回

 3、字符串str

   字符串的一些常用方法:
  
   
  #定义一个变量,变量值为字符串
  name = 'rain,sunny,wind'   print(name.capitalize()) #Rain,sunny,wind   print(name.center(30,"*")) #*******rain,sunny,wind********   print(name.count('i')) # 2 (统计这个变量中出现多少次i)   print(name.encode()) # b'rain,sunny,wind'   print(name.find('i')) #2 (查找i,并返回i对应的下标(索引) )   print(name.endswith('d')) #True   print(name.index('s')) #返回s对应的下标(索引)   print(name[2:]) #in,sunny,wind   print(name[::2]) #ri,un,id (步长)

 

 

 4、list列表

  

#定义一个列表
lists = ['rain','sunny','wind','ray']
lists.insert(
1,'sun') #['rain', 'sun', 'sunny', 'wind', 'ray'] lists.insert(0,'moon') #['moon', 'rain', 'sun', 'sunny', 'wind', 'ray'] lists.append('moon',) #['moon','rain', 'sun', 'sunny', 'wind', 'ray', 'moon'] print(lists.count('moon')) # 2 print(lists.reverse()) #None print(lists.sort()) #None print(lists.index('sunny')) # 5

lists1 = ['2','3','4'] lists.extend(lists1) #['moon', 'moon', 'rain', 'ray', 'sun', 'sunny', 'wind', '2', '3', '4'] print(lists.pop()) # 4 (删除最后一个元素并返回该元素) lists.copy() #浅拷贝 print (lists)

 

5、tuple元组

#定义一个元组
tup = ('rain','sunny','wind','ray') print(tup.index('rain')) # 0 (返回元素对应的下标值(索引)) print(tup.count('sunny')) # 1 (统计元素在元组出现了几次)

 

  

6、dict 字典

#定义一个字典

dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1.values()) #dict_values([{'age': 18, 'name': 'rain'}, {'age': 20, 'name': 'sunny'}]) print(dict1.keys()) #dict_keys([109020123411200099, 323948093024309348]) print(dict1.items()) #dict_items([(109020123411200099, {'name': 'rain', 'age': 18}), (323948093024309348, {'name': 'sunny', 'age': 20})]) print(dict1.pop(109020123411200099)) #{'name': 'rain', 'age': 18} (指定key并删除,并返回删除key的值) print(dict1.get(1090209)) # 如果key存在字典中,则返回values ,否则返回None print(dict1.popitem()) #随机删除一个key ,禁用 dict1.setdefault(903482908,'values not exists') #取一个key,如果不存在就返回设定的值,并添加到字典中 print(dict1.fromkeys([1,2,3,4,5],'values')) #{1: 'values', 2: 'values', 3: 'values', 4: 'values', 5: 'values'} print(323948093024309348 in dict1 ) # True(判断该key在字典中)
#定义一个字典
dict1 = {109020123411200099 : {'name': 'rain', 'age': 18}, 323948093024309348 : {'name': 'sunny','age' : 20}} print(dict1[109020123411200099]['name']) # rain (取字典中[key][key]的值) #enumerate 枚举函数 for index,k in enumerate(dict1): #循环字典,并赋值给k print(index,k) for index,k1 in enumerate(dict1[k]): #循环字典中的[key]的值 print (index,k,k1,dict1[k][k1])
a = {'name':11,'age':11,}
b = {'name':21,'names':22}
b['a'] = 'abc'
print(b)
for i in a:
    b[i] = a[i]     #当b中不存在a中的keys值时,将b[key] = a[keys]
print(b)
实例

练习:

 

1 练习:元素分类
2 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
3 即: {'k1': 大于66 , 'k2': 小于66}

 

回答:

a=[11,22,33,44,55,66,77,88,99,90]
dict1={'k1':[],'k2':[]}

for i in a:
    if i >66:
        dict1['k1'].append(i)
    else:
        dict1['k2'].append(i)
print dict1

最好的是用下面的方法来动态的扩展字典:
a=[11,22,33,44,55,66,77,88,99,90]
dict1={}  #动态的增加字典

for i in a:
    if i >66:
        if 'k1' in dict1.keys():
            dict1['k1'].append(i)
        else:
            dict1['k1'] = [i,]
    else:
        if 'k2' in dict1.keys():
            dict1['k2'].append(i)
        else:
            dict1['k2'] = [i,]
print dict1

 

 

7、计算

7.1 算数运算

 

 

a = 2
b = 3
# c = a + b   #  5
# c = a - b   # -1
# c = a * b   #  6
c = a / b     #  0.6666666666666666
c = a % b     #  2
c = a ** b    #  8
c = a // b    #  0
print(c)

 

7.2 比较运算符

a = 2
b = 3
if a == b:
    print('1 - a 等于 b')
else:
    print ('1 - a 不等于 b')

其它类似 
<> 3.x版本中已经废弃

 7.3 赋值运算

  
 
  7.4逻辑运算
 
  
 7.5身份运算
 
  
  7.6成员运算
 
 
   7.6位运算
 

    

7.7 运算符优先级

 

 

posted @ 2016-05-20 14:19  yxy_linux  阅读(215)  评论(0编辑  收藏  举报