zoukankan      html  css  js  c++  java
  • Python 整理一

    ---恢复内容开始---

    Python (pailen)最近学习这个语言,其实早在几年前学习perl的时候就知道有这个语言了,在讲perl的那本书后面就推荐学习python,并且还附加了二章的入门。当时初看了一下,发现和perl很相似。

    这几天学了python的一些基本东西,整理一下。如下 :

    #!/usr/bin/python
    '''
        3.XX版后,默认是UTF-8,支持中文了.
    '''
    #coding=utf-8
    
    '''这是注释,和Perl一样可以使用#号注释单行,但是多行注释是使用3个单引号'''
    
    print("1. Mirror,python的Helloworld程序.");
    print();
    
    print("2. '''这是注释,和Perl一样可以使用#号注释单行,但是多行注释是使用3个单引号'''");
    print();
    
    print("3. Hello World!");
    print();
    
    print("4. 你好,世界!");
    print();
    
    print("5. python版本:3.xx");
    print();
    
    print("6.变量命名");
    a,b,c=1,"Mirror",1.13;
    print("a,b,c=1,"Mirror",1.17; #直接指定并赋值,无须显示声明,类型自动判断.与perl相似");
    print("打印出值");
    print();
    print("a=",a);
    print("b=",b);
    print("c=",c);
    
    print();
    print("7.取字符串的子串");
    print("str=my name is mirrortom.这开始是特殊字符~!@#$%^&*()_+|?/\");
    print("例一:取出name子串.str[3:8],下标3(含)到下标8(不含)");
    str='my name is mirrortom.这开始是特殊字符~!@#$%^&*()_+|?/\';
    print(str[3:8]);
    print("新颖的例二:将字符串输出两次 str * 2");
    print(str * 2);
    
    print();
    print("8.使用del语句删除变量引用,这怎么类似C语言的内存释放?");
    print("-1.name = 'mirror';sex=0;","
    -2.del name,sex","
    -3.print(name,sex)");
    print("NameError: name 'name' is not defined",'第3行:会报错误,变量没有定义');
    
    print();
    print("9.列表,python的列表使用[]",'感觉这类似于数组加散列,和perl差不多.');
    list=['1str',2,'3str','mirrortom'];
    print (list);
    print (list[0]);
    print (list[1]);
    print (list[2]);
    print (list[3]);
    print("如果执行:print (list[4])",'list index out of range,类似下标出界的错误');
    
    print();
    print("9.元组:tuple [t^pl] 这个太奇怪了,相当于只读列表,认为和玫举性质差不多.我顾名思义,就是元数据的列表,而元数据一般是不能修改的");
    print("示例:data=('1str',2,'3str','mirrortom')");
    tupledata=('1str',2,'3str','mirrortom')
    print(tupledata);
    print(tupledata[0]);
    print(tupledata[1]);
    print(tupledata[2]);
    print(tupledata[3]);
    print(tupledata*2);
    
    print();
    print("10.字典 dictionary,这个好理解,键值对.在形式上和json一样的.");
    print("例 : dict={'name':'mirror','sex':'男'}
     print(dict)");
    dict={'name':'mirror','sex':''};
    print (dict);
    print(dict['name']);
    print("print(dict['name']);")
    print(dict['name']);
    
    print();
    print("11.数据类型转换");
    print("将数据类型名作为函数名,要转换的值作为参数");
    print("例:转为整数 int(a) 转为长整数long(a):3.xx版本后已经没有long了,统一使用int");
    print("a='1';print(int(a));print(float(a));");
    a="1";
    print(int(a));
    print(float(a));
    print("将字符转为它的整数:a='a';print(ord(a));");
    a='a';
    print(ord(a));
    
    print();
    print("12.运算符 // 两个斜线表示取整除.这个不同于其它语言,");
    print("例如:19//3");
    print(19//3);
    print("除:19/3.其它语言的除等同于//");
    print(19/3);
    print("取模(除法的余数):19%3");
    print(19%3);
    
    print();
    print("13.比较运算符.和其它语言一样.就是这些");
    print("== != <> > < <= >=",'其中<>这个在3.XX版本中已经没有了.');
    
    print();
    print("14.赋值运算符.和其它语言一样");
    print("= += -= *= /= %= **= //=");
    print("例:a,b=3,4;a+=b;print(a);a//=b;print(a)");
    a,b=3,4;
    a+=b;
    print(a);
    a//=b;
    print(a);
    
    print();
    print("15.位运算符.& | ^ ~ 与 或 异或 取反 << >>左右移位.");
    print("都是对二进制数位的操作.和其它语言一样.");
    
    print();
    print("16.逻辑运算符 and or not  与 或非");
    print("a,b=3,5;print(a and b);print(a or b);print(not not b);");
    a,b=3,5;
    print(a and b);
    print(a or b);
    print(not not b);
    
    print();
    print("17.成员运算符 in not in这不就是SQL语句中的吗.python也支持.呵呵.");
    
    print();
    print("18.身份运算符 is  is not 用于判断两个标识符是否引用同一个对象.");
    print("例:a=b=1;print(a is b);
    c=d='mirror';print(c is d)
    a=1;b='1';print(a is b);
    c='mirror';d='mirror'");
    a=b=1;
    c=d='mirror';
    print(a is b);
    print(c is d);
    a=1;b='1';
    print(a is b);
    c='mirror';d='mirror';
    print(c is d);
    print("还有个这样的函数,获得一串数字,感觉像C#的对象哈希码.print(id(a));");
    print(id(a));
    print("请看这些码 print(id(1));print(id('mirror'));print(id(a));常量有相应表示方式");
    print(id(1));print(id('mirror'));print(id(a));
    
    print();
    print("19.if 语句.没有使用花括号作为语句块边界,在if表达式之后使用冒号结束.之后为语句块,语句块以缩进来区分.这比较奇葩.");
    print("例:下面if之后两个语句,如果缩进相同,则视为同一语句块,就是说条件成立这两句都执行
    if 0==1:
    	print('0==1');
    	print('false')");
    
    if 0!=1:
        print ('0!=1');
        print('false');
    print("如果缩进不同,就认为不是一个块里的,请看");
    print("if 0==1:
    	print('0==1')
    print('true');"); 
    if 0==1:
        print ('0==1');
    print('true #这里输出了第二个print,但是条件并不成立.说明它不属于IF语句块中的');
    print("如果表达式和语句块都很简单,只有一句,可以这样写
    if(1==1):print('true');");
    if(1==1):print('true #python还没有switch语句,可以使用if xx: elif xx:');
    
    print();
    print("20.循环.终于到循环了,有for 和 while 没有 do while.");
    print("i=1;
    while i==1:
    	i+=1;
    	print(i);");
    i=1;
    while i==1:
        i+=1;
        print (i,'#结果输出2');
    print("continue break 这两个用于跳过当次循环和退出循环.和其它一样没什么说的");
    print("这个比较有新意,else之后的语句什么时候执行?当循环正常结束时执行
    while xx: 
    	.....;
    	.....;
    else:
    	正常执行完循环会执行else后面的语句块;");
    print('正常执行完循环后会执行else后面的语句块,不正常执行完呢,就是使用了break跳出循环后,将不会执行else');
    
    print();
    print("for循环:没有经典的写法只有和foreach一样的写法: 
    for var in ('1','2'):
    	print(var)");
    for i in ('1','2'):
        print(i);
    
    print();
    print("21.pass 语句.这个有什么用处?
    如果语句块没有内容则可以用这句话占个位置.例:
    if 1==1:
    	pass #不做任何事.");
    if 1==1:
        pass
    print("如果不写的话,空着行不行呢.不行了.因为python的语句块使用缩进区分,如什么都不写的话,就区分不了语句块了.")
    print(":(个人觉得这是没事找事,想少写大括号,又多引入pass解决代码块区分问题.最后还是没省多少事.");
    
    print();
    print('22.随机数.介绍一个函数randrange(0,5,1);三个参数是起点终点步长.
    	说明:无法直接使用该函数,因为它属于一个类random的静态方法,用来需要引入random类 import random');
    print("import random;
    print(random.randrange(0,5));取起不取终");
    import random;
    print(random.randrange(0,5,1));
    import math;
    print('import math;
    math.pi    #',math.pi);
    print('math.e   #',math.e);
    
    print();
    print('23.转义字符');
    print('\ 如果在源码的行尾打一个,表示该行没完,延续到下一行.
    \a这个可以让系统发出一个声音');
    print("r'\n'",'在转义前面加一个r,表示不转义,直接输出原字符串.');
    print(r'\');
    
    print();
    print('24.格式化输出,下面这个东西看起来原始多了.%(name)s这句话分三部分:%是符号,name是点位名,s表示是字符串.');
    print("print ("my name is %(name)s programAge %(pa)d years." %{'name':'mirror','pa':3}) ;");
    print ("my name is %(name)s programAge %(pa)d years." %{"name":'mirror',"pa":3}) ;
    
    print(":)还好3.XX版本有类似C#的string.format.那就是str.format().再试试上面那句");
    print("print("my name is {0} programAge {1}.".format('mirror',3));")
    print("能指定占位名,不过用数字不更好吗.print("my name is {name} programAge {pa}.".format(name='mirror',pa=3));");
    print("my name is {0} programAge {1}.".format('mirror',3));
    print("my name is {name} programAge {pa}.".format(name='mirror',pa=3));
    
    print();
    print("以上是基础的语法,另外就是面向对象了.这个在下一篇里弄");
  • 相关阅读:
    敏捷手艺参考书籍
    算法一书配套网站
    一张图了解UML类图的所有关系
    如何团队合作--Team Geek
    正则--解析换行
    SourceTree基本使用
    springMVC--第一个demo
    Notepad++--去掉空格和换行
    ES 部分API
    spring--启动报错 Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容
  • 原文地址:https://www.cnblogs.com/mirrortom/p/5127590.html
Copyright © 2011-2022 走看看