码迷,mamicode.com
首页 > 编程语言 > 详细

python之路———第一章

时间:2016-08-08 06:33:01      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:

初识python

#以下的代码都是在PyCharm 4.5的编辑工具下执行的,并且python的版本是3.4

  python的第一程序

    print("Hello Word")

    #Hello Word

一、变量名

  一)作用:一是用来存储,二是用来调用

  二)定义规则:

    1)变量名只能是字母、数字、下划线的任意组合

    2)变量名的第一字母不能是数字或下划线

    3)关键字不能声明变量 比如:if、for、 class  

  三)变量的赋值

    name = "xiao ming"

    上述代码声明了一个变量,变量名是 name, 变量 name 的值为:"xiao ming"

二、常用的数据类型

  1、数字

    int(整型):跟数学中数字的没区别

    long(长整型):int类型中表达不了的数字就用这个

    float(浮点型):有小数点的数字

  2、布尔值

    True  真 或 1

    False  假 或 0

  3、字符串

    1)字符串格式化输出

      name = "小明"

      print ("I am %s" %name)

      #输出:I am 小明

    2)字符串拼接

      name = "小明"

      print ("我是"+ name +"的同学")

      #输出:我是小明的同学

      万恶的字符串拼接:python中的字符串在C语言中体现为是一个字符数组,每次创建字符串是时候需要在内存中开辟一块连续的空间,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内存中重新开辟一块空间,所以为了减少内存空间的使用,一般情况下都不要用字符串拼接。

    3)字符串常用功能

        name = "xiao ming ,xiao gou,{hua}"

      * 移除空白: name.strip()  #把前后的空格或换行都去掉

      * 分割:   name.split(",")  #按逗号把字符串里的字符分割开来变成列表

            "|".join(name)  #按|把分割开来的列表合在一起

      * 长度:  len(name) #

      * 索引:name.find()  #查找字符串中的某个元素,返回值就是该元素的索引

      * 切片:跟列表切片是一样的

      *格式化:name.format(hua = "花")

      *判断:  name.isdigit()  #判断字符串是不是数字

           name.isalnum()  #判断字符串有没有特殊字符

           name.endswith()  # 判断字符串以什么结尾
           name.startswith() #判断字符串以什么开头

           name.upper()    #把字符串都改成大写

           name.lower()     #把字符串都改成小写

           "" in name #判断里面有没有空格

  4、列表

    1)创建列表:

      name = ["小明","xiaohua",36,"5",[3,4,9],"小狗",96,63,5,36,]

    2)基本操作

      索引:name[0]#取第一个值  name[:2]#取前面两个值  name[-3:]#取最后三个值  name[4][1] #取第二层列表里的值

          #每个列表中的元素都对应一个索引,也称下标,下标默认都是从0开始,例如下标0对应的就是第一个元素"小明"

      切片:name[1:4]#取出第二个到第四个的值 xiaohua,36,5

 

      追加:name.append("小花")#在列表中追加一个新的元素

      删除:name.remove("小狗")#删除一个元素 ,但一次只能删除一个

         name.pop(7) #删除第7个人 这个是删除元素的下标,默认是删除最后一个

         # del name[4] del 删除一个内存中的数据,不但可以删列表,还可以删很多 ,是python 的全局功能,

      步长:name[::2] #隔一个人打印一个人,2就是步长,默认是1,但不能是0

      长度:len(name) #查看列表里有多少元素

      插入:name.insert(2,"小红")#在第三的位置上插入新的元素,但一次只能插入一个

      清空:name.clear() #把这个列表清空

      扩展:name.extend(name2) # 把name2列表的元素追加到了name列表,但name2列表的元素还存在,相当于拷贝了月份

      排序:name.reverse() #把列表里面的元素与之前的顺序倒过来(从后面往前排)

      拷贝name4 = name.copy() #把一个列表的元素拷贝到另一个列表里,默认只拷贝第一层,属于浅拷贝

         name5 = copy.deepcopy(name) #深层拷贝,首先要声明一个标准库:import copy

        36 in name #判断列表是否存在一个元素,如果有则返回True,没有则返回False

        name.count() #查找列表里相同的元素有几个

        # geshu = name.count(36)   输出结果是 2 说明列表里有2个36

        name.index() #查找某个元素的索引,如果有相同的元素,只能查找到排在最前面的一个        

      for i in range(name.count(36)): #查找列表里有几个36
        
suoyin = name.index(36)  #查找元素36的索引
        
name[suoyin] = 666   #通过查到的索引来修改元素
      
print(name)       #最后的结果把列表里的所有36改成了666

  5、元组(不可变列表)

    1、创建元组:

      ages = (11,22,33,44,55,66) 或 ages = tupe((11,22,33,44,55,66))

  6、字典(无序)

三、数据运算

  一)算数运算

   a = 10        b = 20

运算符 描述 实例
+ 加—— 两个对象相加 a + b  输出结果  30
- 减—— 一个数减去另一个数 a - b   输出结果  -10
* 乘—— 两个数相乘或是返回一个被重复若干的字符串 a * b   输出结果  200
/ 除—— b 除以 a b / a   输出结果   2
% 取模—— 返回除法的余数 b / a   输出结果   0           10 /  3   输出结果   1
** 幂 —— 返回 b 的 a 次幂 b ** a   输出结果  10240000000000
// 取整除—— 返回商的整数部分 9 // 2   输出结果  4     9.0 // 2.0    输出结果是 4.0

  

 

 

 

 

 

 

 

  

 

  二)比较运算:

运算符 描述 实例
== 等于—— 比较对象是否相等 (a == b) 返回  False
!= 不等于—— 比较两个对象是否不相等 (a != b) 返回   True
<> 不等于—— 比较两个对象是否不相等 (a <> b) 返回  True
> 大于—— 返回X是否大于Y (a > b) 返回    False
<

小于—— 返回X是否小于Y。 所有比较运算符返回1表示真,返回0表示假。

这分别与特殊的变量True和False等价。注意,这些变量名的大写

(a < b) 返回    True
>= 大于等于—— 返回X是否大于等于Y (a >= b) 返回  False
<= 小于等于——返回X是否小于等于Y (a <= b) 返回  True

  

 

 

 

 

 

 

 

  

 

  三)赋值运算 

 运算符

描述

示例

=

赋值 - 将右边的值赋值给左边的变量名

c = a + b 将会把a+b的结果赋值给c

+=

自加赋值 - 将+=号左边的值与+=号右边的值相加,然后再把结果赋值给+=号左右的值

c += a相当于 c = c + a

-=

自减赋值

c -= a相当于 c = c - a

*=

自乘赋值

c *= a 相当于 c = c * a

/=

自除赋值

c /= a 相当于 c = c / a

%=

自取模赋值

c %= a 相当于 c = c % a

**=

自求幂赋值

c **= a 相当于 c = c ** a

//=

自取整赋值

c //= a 相当于 c = c // a

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

  四)逻辑运算符  

运算符 描述 实例
and 布尔  “与” ——如果X为False, X  and  Y  返回 False , 否则它返回 Y 的计算值 (a and b) 返回 True
or 布尔  “或” ——如果X为True, X  and  Y  返回 True , 否则它返回 Y 的计算值 (a or b) 返回 True
not 布尔 “非” ——如果X为True, X and  Y 返回 False , 如果 X 为 False, 它返回 True not(a and b) 返回 False

 

 

 

 

 

  

  五)身份运算  

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 X is Y ,如果id(X)等于id(Y),is 返回结果 1

 print(type("333") is str)  返回True

  print(type(333) is str)    返回False    

 六)位运算
  
计算机中能表示的最小单位,是一个二进制位
   计算机中能
存储的最小单位,是一个二进制位(bit)
   8bit  = byte(1字节)
   1024byte = 1kbyte
1024kbyte = 1mbyte
   1024mbyte = 1gb
   1024gb = 1T


 运算符

描述  a = 60  b = 13

示例

&

与运算,这个二进制位必须在2组数中都为真,结果才返回真

(a & b)得12,二进制位: 0000 1100

|

或运算,这个二进制位只需在其中一组数据中为真即返回真

(a | b)得 61,二进制位: 0011 1101

^

异或运算,只要这个二进制位在两组数据中不相同就返回真

(a ^ b)得 49 ,二进制位: 0011 0001

<< 

左移运算,将a整体向左移2位

a << 2得240,二进制位: 1111 0000

>> 

右移运算,将a整体向右移3位

a >> 3得 7 ,二进制位: 0000 0111








 

 

 

四、表达式:

  一)if...else语句

    name = "小明"
    passwd = 123654
    username = input("请输入用户名:")
    password = int(input("请输入用户名密码:"))

    if name == username and passwd == password:

       print("恭喜你登入成功!")
    else:
    print("用户名或密码错误,请重新输入!")
  二)for循环
    #计算1+2+...+10的和
    sum = 0
    for x in [1,2,3,4,5,6,7,8,9,10]:
    sum = sum + x
    print(sum)

   #一个登入接口的小程序
    name = "小明"
    passwd = "123654"
    cishu = 0
    for i in range(5):
    if cishu < 3:
     username = input("请输入用户名:")
     password = input("请输入用户名密码:")
     if username == name and password == passwd:
     print("恭喜你登录成功,欢迎你!")
     break
     else:
     print("你输入的用户名或密码不正确,请重新输入!")
     cishu += 1
     else:
    print("你已经输错三次,用户名与密码已被锁定,请明天再试!")
     break
  三)while循环
    count = 0
    while True:
    count += 1
    if 50 < count < 60:
    continue
    print("你是风儿我是沙,缠缠绵绵到天涯.....",count)
    if count == 100:
    print("去你大爷的风和沙...")
     break

 

 

 

 

python之路———第一章

标签:

原文地址:http://www.cnblogs.com/pizhiyou/p/5747883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!