Python 学习笔记

来源:互联网 发布:淘宝优衣库代购靠谱吗 编辑:程序博客网 时间:2024/06/05 00:17

py15理论课

第四节python基础 

1.print输出:

1)print(‘hello ’ + ‘world’) 
输出为:hello world 

2).不同数据类型相加

name='kang'age=25print(name +str(age))

print("hello,"+name+"; age is:"+str(age))

print("hello,%s;age is:%d" %(name,age))
%s----字符串  %d----数字

(1)对于print(‘let’s go’) 而言报错的原因是程序会将let后的’作为字符串结尾,解决这一问题就要用到转义字符,如:print(‘let\’s go’) 

2.引号:

‘ ’或“  ”或'///单引号与双引号可以互相嵌套使用,但不能交叉使用

"""   ""三引号,注释功能

 eg:'test'.'age'

3.if语句

1)条件
2)包含:in表示包含
 hi = "hello world" if "hello" in hi: print("Contain")else: print("Not Contain")
4.for循环
1)只能对字符串循环
 for i in "hello world": print(i)
2)对数字循环:
n=100
for i in range:
print(i)----- 结果为0-99
for i in range(1,101):
print(i)-----结果为1-100
for i in range(0,101,5):
print(i)-----结果为0,5,10.....
range()函数默认从零开始循环
5.数据类型(略)
6.函数def/类class:
1)java一定要先创建类,它是面对对象的语言,python不一定需要,所以它是面对过程的语言,当然也是面对对象的
2)定义函数 def
def add(a,b):
print(a+b)
add(2.3)-----------------print结果为5
    def add(a, b):          return a+b-------返回,但没有输出结果     c=add(2,3)     print(c) ---------------以此方法输入
3)类class命名--- class MyAccount:// class MyAccount():// class MyAccount(object):
类下即可创建方法(函数)
class A(:
        def add(self, a, b):------类下创建方法时,第一个参数一定要传self        return a + bcount = A()print(count.add(3, 5))-----调用方法

第五节 python基础

4)类的特性:类在使用时有初始化方法
class A():
    def __init__(self, a, b): ------------一般在创建类时会首先声明初始化方法        self.a=a        self.b=b    def son(self):         m = 1000         return m    def add(self):        print(self.a + self.b)        card=self.son()        print(card)my=A(2,7)my.add()
类的继承:



网易云课程link:http://study.163.com/course/courseLearn.htm?courseId=1003057011#/learn/video?lessonId=1003473273&courseId=1003057011

一.基本数据类型

数字        int (整型)

                     n=123

                     n=int(123)              

                     s='123'------m=int(s)--------   字符串转换为数字(字符串只包含数字)

字符串     str

                     s='abc'

                     s=str('abc')

                     m=123-----s=str(m) ---------- 数字转换为字符串

                     b为一个字节类型-----m=str(b,encoding='utf-8')---------字节转换为字符串                  

                方法:

                     首字母变大写;去空格;变大小写;替换;是否为数字/字母;开头/结尾;查找;个数;格式化;编码/解码;居中/居左/居右;连接(join)

                      eg:

                         1)连接: li=['test','kang']

                                           t=''_'join.li------------ t即为test_kang

                         2) 字符串-字节(gbk编码的字节)

                                           a='康'

                                           b=bytes(a.coding='gbk')=== type(b)--------字符串转换为gbk编码的字节

                                           c=str(b,coding='gbk') ---------------------------gbk字节转换回字符串                                         

列表/数组       list

                     li=[11,22,33]

                     li=list( [ ] )

                     t=(11,22,33) ---- i =list(t)-------- 元组转换为列表

               公共功能:

                   索引;切片;for循环;长度;enumerate;in;删除del [0] /del [0:2];

                      print(li [0])       ------print第0个元素

                      li.append('kang')  ------增加元素

                      li.account('kang') ------ kang有几个

                      li.extend(temp)    -------增加另一个列表中值(temp为另一个列表)

                      li.index('kang')  ----------找到kang在列表中所在位置

                      li.insert(1,'test')  ---------在列表中第一个位置增加test

                      li.pop()                --------移除列表/最后一个值,切如 a=li.pop()则a=li中最后一个值

                                                           li=[11,' test',33,' kang',55,66,77,88,99,90]

                           li.insert(2,'in')                           print(li)                           li.pop()                           print(li)          li.remove('kang') --移除列表中kang这个元素          li.reverse  ------反转元素排序          del li[1]    -----删除列表中第一个元素(也可以删除切片)
          li.sort()   ------列表排序

               特有功能:

                   反转;排序;追加;插入;索引位置;删除;个数;扩展;清除

元组         tuple

                  t=(11,22,33)

                  t=tup(可迭代的对象)

                  m=tuple(li)----------------列表转换为元组

               公共功能:

                  索引;切片;for循环;长度;enumerate;in

               特有功能:

                   个数;索引; 特性(不能被修改,但内部列表或字典可以被修改)


字典         dict

1).字典的打印是没有顺序的

2)Python 规定一个字典中的 key 必须独一无二,value 可以相同

dic={"a":1,"b":2,"c":3}    print(dic.keys())    print(dic.values())for k,v in dic.items():    print(k)    print(v)

                d={ 'k':'v', 'k2':123 } 

3)两个字典的拼接

keys = ["b", "a", "c", "e", "d"]
values = ["2", "1", "3", "5", "4"]
for key,value in zip(keys, values):

print(key, value)

4)list转换为字典,key从10递增:

                li=[11,22,33,44]         

                dic={}

                new_dict=dict( enumerate(li,10))

              公共功能:

                 索引;增加;删除;循环;长度;in:拼接(zip)

              特有功能:

                 项;键;值;get;has_key== xxx in dict.key() ; 更新(update);clear ; fromkeys

数字:直接书写,无需符号

布尔值:    bool

True / False 



二. 编码(python2.7需要)

1.unicode万国码 ---  utf-8(gbk)精简 (正向编码,反向解码)

   


 


2.对于py2.7

    utf-8 》gbk

    utf-8解码unicode编码gbk

  对于py3.5

     utf-8 编码成gbk

  windows上输出

     utf-8 》 unicode


3.运算符


2) in成员运算

li=['a','b','c']

mn='text'

a='a' in a

resolute: Ture


mn.startswith('t')

3.查看功能

a='test'

print(dir(a))




一.条件语句

(缩进需一致),打印用户名密码

1.if 语句:

 a = 2
 b = 3
if a > b:
    print("a max!")
else:
    print("b max!")

name=raw_input('username:')

pwd=raw_input('password:')if name==('kang') and pwd==('1234'):    print('yes')else:    print('no')2.if elif:name=raw_input('<<<')if name==('kang'):    print('yes')elif name==('test'):    print('?')else:    print('no')3.while:   1)import timewhile True:   print('1')   time.sleep('1')   print('end')2)n1=True
while n1:     print('1')     n1=False     print('end')3)
import timei=0while i<10:    i = i + 1    print(i)    time.sleep(1)import time                            
n=1a=Truewhile a:    print(n)    if n ==10:       a=False    n=n+1    time.sleep(1)
4.while break:



5.while continue:
终止下一循环,继续上一循环
输出1-10,除去7:
import timei=0while i<10:    i = i + 1    if i==7:        continue    print(i)    time.sleep(1)
6.100以内整数和
1)a=1n=0while a<101:    n=n+a    a=a+1    print(n)2)
sum=0i=1 while True:     sum=sum+i     if i==100:         break     i = i + 1print(sum)
7.显示100以内奇数(偶数)
n=0while n<100:    n=n+1    y=n%2    if y==1:       print(n)    else:       pass
*else pass 需要写,否则语法不正确
8.1-2+3-4+5-6.....-98+99
n=1sum=0while n<100:    y=n%2    if y==1:        sum=sum+n    else:        sum=sum-n    n=n+1print(sum)

9.三次机会验证账号密码
n=0
while n<3:    name = input('username:')    pwd = input("password:")    if name=='kang' and pwd=='123':       print('yes')       break    else:       print('try again:')    n=n+1

10.for 语句使用
   li=[11,22,33,44,55,66,77,88,99,90]   将大于66的值放于一个key中,小于66放于另一个key
li=[11,22,33,44,55,66,77,88,99,90]dic={'k1':[],'k2':[]}for i in li:    if i<=66:        dic['k1'].append(i)    else:        dic['k2'].append(i)    print(dic)

11.查找列表中元素,移除空格,并查找以a或A开头的,c结尾的所有元素
li=['kang', 'keng',' test']
for i in li:    print(i)
    l1=i.strip()
    print(l1)
   if (l1.startswith('K') or l1.startswith('k')) and l1.endswith('g'):
       print(l1)
   12.输出商品列表,用户输入序号即现实相应的商品
li=['手机','电脑','鼠标垫','游艇']for i,j in enumerate(li,1):    print(i,j)num=input('num:')num=int(num)a=len(li)if num>0 and num<= a:     good=li[num-1]     print(good)else:    print('商品不存在')

13.用户交互,显示省时县三级联动
dic={    '河北':{                 '石家庄':['城市a','城市b','城市c'],                 '邯郸':['城市d','城市e','城市f'],             },    '辽宁':{                  '大连':['西岗区','中山区','沙河口区']            },}for i in dic:    print(i)i1=input('请输入省份:')a=dic[i1]for j in a:    print(j)i2=input('请输入城市')b=dic[i1][i2]for x in b:     print(x)
13.函数
def discounts(price,rate):    finalprice= price* rate    print('1')    return finalpriceoldprice= float(input('原价:'))rate=float(input('折扣率:'))newprice= discounts(oldprice,rate)print('折后价格:',newprice)
 
14.继承
class Parent:    def test(self):        print('调用父类方法')class Child(Parent):    passp=Parent()p.test()c=Child()c.test()

2)子类定义与父类同名的方法或属性,则会自动覆盖父类对应的方法或属性
class Parent:    def test(self):        print('调用父类方法')class Child(Parent):    def test(self):        print('调用子类方法')p=Parent()p.test()c=Child()c.test()












  

原创粉丝点击