zoukankan      html  css  js  c++  java
  • day1-python 的基础部分

    一个多月了,学习方法:看视频为主,跟着各种视频,看来看去,动手很少。貌似学了很多,貌似啥也没有学会。

    正如Alex所说,你为什么没有思路,写的太少,写的太少……

    好吧,不要再眼高手低了,兄弟们动手吧!

    what did i have learnt?

    Python常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。

    win7, python3.6, PyCharm社区版

    仪式感很重要:

    print("Hello World!")  #对就是print(),括号内输入你想打印的内容
    

    常用的基础:

    1、先介绍一下Python 的字符类型,和其他编程语言类似,Python也有“字符型(str)”、“整型(int)”、“浮点型(float)”、“布尔型(0和1)”,

      字符型的输入要加上单引号(')或双引号("),在python中单引号和双引号没有区别

      变量的定义法则:a.字母、数字和下划线,但是不能以数字开头;b.最好见名知义;c.避免和系统变量冲突(后果很严重)

      Python有严格的缩进关系,否则出错!

    2、列表:列表的定义:变量名 = []

    list1 = ['physics','chemistry',1993,2000,'hehhe','wozai ganma']
    list2 = [11,33,222,5,89]
    print(list1)
    print(list1[:])  #效果同上,是不是多此一举?
    print(list1[1:5]) #列表支持索引(index)索引号从0开始,即0,1,2,3……

    print(list1[::2])  #冒号后的2代表“步长” 
    print(list2[1:3])  #顾头不顾尾,所以只打印索引号1和2两个元素
    print(list1[-2])  #当然列表也支持负数,表示倒数第二个
    print(list1[1:])  #试试效果,自己总结

    for i in list1:
    print(i)

      常用的列表方法:append(), count(), extent(), index(), insert(), pop(), remove(), reverse(), sort()

    3、元组:元组的定义:变量名 = ()

    tuple1 = ("d","this","ervry","day")
    print(tuple1)

      元组和列表类似,只是元组不可以修改。方法:index(), count()

    1 tuple1 = (123,332,1,1,1,32)
    2 
    3 print(tuple1)
    4 print(tuple1.index(332))    #打印332的索引号
    5 print(tuple1.count(1))  #统计元素1的个数

    4、集合:

    1 set1 = {11,332,33}
    2 set2 = set()
    3 set3 = set([11,33,22.3,55])
    4 
    5 print(set3)
    6 print(set2)

       集合具有天然去重功能,常用方法:交集、并集、差集、子集、父集、对称差集

    1 set1 = {11,332,33}
    2 set2 = set([11,33,22.3,55])
    3 
    4 print("交集",set1.intersection(set2))
    5 print("并集",set1.union(set2))
    6 print("差集",set1.difference(set2))   #打印在set1不在set2中的元素
    7 print('子集',set2.issubset(set1)) #set2是set1 的子集打印True,否则False
    8 print('父集',set2.issuperset(set1))  
    9 print('对称差集',set1.symmetric_difference(set2))

       集合还可以添加(add)、删除(remove)、更新(update)

    5、字符串:不可修改

     1 str1 = "人生苦短,我用Python"
     2 
     3 print(str1.find('wo')) #如果存在返回索引号,不存在返回-1
     4 
     5 for i in str1:  #遍历整个字符串,列表,元组,字典也可以这么用
     6     print(i)
     7 
     8 find_str = 'p'
     9 if find_str in str1:    #我认为学习就是要在栗子中感悟,所以多模仿栗子
    10     print(str1.index(find_str))
    11 else:
    12     print('no %s,check again' %find_str)

      fomat相关操作

    1 myinfo = "my name is %s, age %d, habit %s"  #%d代表整型
    2 print(myinfo.format('channel',25,"健身")) #输入的时候,务必按照顺序
    3 myinfo = 'my name is {name}, age {age}, habit {habit}'
    4 print(myinfo.format(name='channe',age=22,habit="英语"))

    6、字典:字典一种key - value 的数据类型,key具有唯一性:定义字典: dict1 = {key1:value1, key2:value2, key3:value3,……}

     1 dict1 = {'name':'tiaozhan',
     2          'age':26,
     3          'school':'信阳',
     4          'address':'shanghai'}
     5 
     6 b = {'学号':'stud0014'}
     7 
     8 print(dict1)
     9 dict1.update(b)
    10 print(dict1)
    11 print(dict1.keys())
    12 print(dict1.values())
    13 print(dict1.items())
    14 print(dict1.get("habby",'健身')) #打印”habby”,没有则打印默认“健身”

    字典方法:clear(), copy(), get(key,default), items(), keys(), values()

    7、if判断:

      myage = 26
    1
    guess_age = int(input("your guess num:")) #只能输入整型,否则报错 2 if guess_age == myage: 3 print("yes! you got it,well done") 4 break 5 elif guess_age > myage: 6 print('think a smaller') 7 else: 8 print("a bigggg num")

       if判断中,elif和else可以选择性“用还是不用”

    8、for循环:

    1 for i in range(3):  #range()是python的内建函数
    2     print(i)
    3 
    4 for i in ['wo','shi','shui']:
    5     print(i)

    9、while循环:

    1 myage = 25
    2 while True: #就是这样,根本停不下来,"True"你可以换成自己的判断条件,让他终止循环
    3     guess_age = int(input("your guess age:"))
    4     if guess_age == myage:
    5         print("yes, you got it")
    6     elif guess_age > myage:
    7         print("try a little one")
    8     else:
    9         print("need a bigger one !")

     10、文件相关操作:

    1 f = open("myprac.txt",'w',encoding="utf-8")
    2 f.write("人生苦短,都用python吧!")
    3 f.flush()

      解释一下:文件打开模式有三种:r:读的方式打开;w:写的方式创建,文件存在则清空,不存在就创建;a:读写方式打开,存在则追加,不存在就创建。

          f.flush() 强制把内存的数据,写入硬盘。

          f.seek(2) 设置打开文件是“指针”的位置。

          f.tell() 返回文件当前位置

          f.close() 关闭文档,比如上面的栗子,就忘了关闭文件啊啊啊啊啊!

      介绍一个不用关闭文件的打开方式:

    1 with open("myprac.txt",'r',encoding="utf-8") as f,
    2         open("myprac.txt.bak2",'w',encoding='utf-8') as f_bak:
    3 
    4     # print(f.read())
    5     for line in f:
    6         print(line)
    7         f_bak.write(line)
    8         f_bak.flush()

    搜肠刮肚,就这么多了,不足之处,请指正!

  • 相关阅读:
    STL源码剖析之_allocate函数
    PAT 1018. Public Bike Management
    PAT 1016. Phone Bills
    PAT 1012. The Best Rank
    PAT 1014. Waiting in Line
    PAT 1026. Table Tennis
    PAT 1017. Queueing at Bank
    STL源码剖析之list的sort函数实现
    吃到鸡蛋好吃,看看是哪只母鸡下的蛋:好用的Sqlite3
    cJSON
  • 原文地址:https://www.cnblogs.com/yes5144/p/6828406.html
Copyright © 2011-2022 走看看