python学习1

这篇博客是关于Python学习的初级教程,涵盖了从基础语法、变量类型到运算符、控制结构,再到高级特性如类、GUI编程等内容。此外,还提供了练习实例帮助巩固知识,并附带了学习资源链接。
摘要由CSDN通过智能技术生成

0.说明

学习网址:http://www.runoob.com/python/python-operators.html
github地址:https://github.com/Eyrane/python

若运行的时候出现如下错误:
bash: ./test: /usr/bin/python^M: 解释器错误: 没有那个文件或目录 //文件编辑格式出错
vim filename
:set ff
:set ff=unix

1.基础语法和变量类型

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "hello";
print "你好";

# “#”为注释

# 标识符由字母、数字、下划线组成,不能以数字开头,区分大小写

# 用缩进表示模块,而不是{}
if 1:
    print "Ture1"
    print "Ture2"  #严格按照缩进
else:
    print "false1"
    print "false2"


#使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,三引号可以由多行组成
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""    
print word,sentence,paragraph  # 不换行输出
print word
print sentence
print paragraph


#Python 中的变量赋值不需要类型声明
x = 100
y = 100.1

total = x + \
        y  #用\将一行语句分为多行
print total

#多个变量赋值
a ,b ,c = 1, 2.1, 'join'
print a,b,c

#字符串
print "************字符串"
print c[1:3] #输出字符串中第2个到第5个之间的字符串
print c * 2  #字符串输出两次
print c + "test" #输出连接的字符串

#列表[]. 支持字符,数字,字符串甚至可以包含列表(即嵌套).
print "************列表"
list = ['runoob', 1, 2.1, 'join', 40.2]
tinylist = [123, 'join']
print list
print list[0]
print list[1:3]
print list [2:]
print tinylist * 2
print list + tinylist
list[0] = 111
print list

#元组(类似list),不能二次赋值,相当于只读list
print "************元组"
tuple = ('runoob', 1, 2.1, 'join', 40.2)
tinytuple = (123, 'join')
print tuple
print tuple + tinytuple

#字典{},由索引(key)和它对应的值value组成,是无序的对象集合。
print "************字典"
dict = {}
dict['one'] = 'this is one'
dict[2] = 'this is two'
tinydict = {
  'name':'join', 'code':'22', 'dept':'sales'}
print dict
print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

2.运算符、条件语句、循环语句

#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "************算术运算符"
#**幂 - 返回x的y次幂   //取整除 - 返回商的整数部分
a = 21; b = 10; c = 1
print "a+b:",a+b, "a-b:",a-b, "a*b:",a*b ,"a/b:",a/b, "a%b:",a%b, "float a/b:",float(a)/float(b), "(0.0+a)/(0.0+b):",(0.0+a)/(0.0+b) 


print "************比较运算符"
#<>相当于!=
print "a==b:",a==b, "a!=b:",a!=b, "a<>b:",a<>b, "a>b:",a>b, "a<b:",a<b, "a>=b:",a>=b, "a<=b:",a<=b 


print "************赋值运算符"
#不能 print "a+=b:",a+=b //因为 a=a+b 是一个语句,不能作为一个变量输出
# += -= *= /=   **=  //=
a+=b; b-=c;
print "a+=b:",a, "b-=c:",b


print "************位运算符"
# ^异或:不同为1  
a = 60 #0011 1100
b = 13 #0000 1101
print "a&b=",a&b, "a|b=",a|b, "a^b=",a^b, "~a=",~a, "a<<2=",a<<2, "a>>2=",a>>2


print "************逻辑运算符"
# and or not
print "a and b:", a and b, "a or b:", a or b, "not a:", not a
a=0
print "a=0 a and b:", a and b, "a or b:", a or b, "not a:", not a

print "************成员运算符"
# in:在指定序列中找到值返回true; not in:与in相反
list = [1, 2, 3, 4, 5]
print "a=",a, "a in list:",a in list, "a not in list:",a not in list
a=1
print "a=",a, "a in list:",a in list, "a not in list:",a not in list

print "************身份运算符"
# is:判断两个标识符是否引用自同一个对象   is not
# x is y 类似 id(x)==id(y)       x is not y 类似 id(x)!=id(y)
a = 10; b = 10 #交互模式下,如果变量写在同一行,将会指向同一个对象,脚本模式是否写在一行,都指向同一个对象
print "a=",a, "b=",b, "a is b",a is b, "a is not b",a is not b
b = 20
print "a=",a, "b=",b, "a is b",a is b, "a is not b",a is not b


#优先级:**  >  ~  >  */% //  >  +-  >  &  >  ^|  >  比较运算符  >  <>==!=  >  赋值运算符 > 身份运算符 > 成员运算符 > 逻辑运算符


print "############条件语句"
#   if 条件1:
#       语句1
#   elif 条件2:
#       语句2
#   elif 条件3:
#       语句3
#   else:
#       语句4
# python 并不支持 switch 语句
n = 15
if n >= 0 and n <= 10:
    print "0<=n<=10"
elif n < 0:
    print "n<0"
elif n > 10:
    print "n>10"
else:
    print "wrong"



print "############循环语句"
# while for 嵌套;  break continue pass(空语句)
print "############while"
i = 1
while i < 10:
    i += 1
    if i % 2 > 0:
        continue  #跳过本次循环
    if i > 8:
        break   #退出循环
    print i
else:
    print i
print "############for"
for j in range(1,9):
    if j % 2 > 0:
        continue
    if j > 8:
        break
    print j
else:
    print j

3.列表、元组和字典

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#  len()返回对象(字符、列表、元组等)长度或项目个数
#  pop()移除列表中最后一个元素,并返回该元素的值
#  append()在列表尾部添加新对象。。以上均为内置函数

#  del为内置关键字(如import、return等),删除一个对象(list、变量、类的实例等)


print "##############列表"   # []
list1 = ['physic', 'chemistry', 1992, 2000]
list2 = [1, 2, 3, 4, 5, 6]

a = list1.pop();
list2.append(a)
print list1
print list2
print list2[-2]

del list2[2]
print list2
print 'len(list1+list2)=',len(list1+list2)

print 'list2  max=',max(list2), 'min=',min(list2), 'cmp(list1,list2)=',cmp(list1,list2)
print '\n'
print "list1=",list1
print "list2=",list2
print list1+list2
print list1 * 2
print 2 in list2
for x in list1:
    print x

    print '\n'  
print list1.count(2)  #count():统计某个元素在list中出现的次数
list1.extend(list2)  #extend():在列表末尾一次性追加另一个序列中的多个值
print "list1=",list1   
print list2.index(2000)  #index():在列表中找出某个值第一个匹配项的索引位置

list1.insert(2,'hello')  #insert():将对象插入列表中
print list1

list1.remove(1992)  #remove():移除列表中某个值的第一个匹配项
print list1

list2.reverse()   #reverse():反向列表中的元素
print list2

list2.sort()  #sort():对列表进行从小到大排序
print list2

print '\n\n\n'
print "##############元组"  # () 与列表类似,但值不可改
print ('all'),('all',)  #如果元组只有1个元素,就必须加一个逗号,防止被当作括号运算
print tuple(list1)  #tuple():将列表转换为元组
print list( tuple(list1) )  #list():将元组转换为列表



print '\n\n\n'
print "##############字典"  #{key1 : value1, key2 : value2 , ...}  key必须不同,且不可变(所以list不能做key)
dict = {
  'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8   #修改字典
dict['School'] = 'DPS School'  #增加对象
print dict

test1 = dict.pop('School')  # pop():删除字典给定键 key 所对应的值,返回值为被删除的value
print 'pop:',test1,dict

test2 = dict.popitem() #popitem():随机返回并删除字典中的一对键和值
print 'popitem:',test2,dict

print len(dict)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值