Python的学习记录1

    科技2022-08-07  114

    python

    1. 定义变量的方式格式: 变量名 = 值 即可 (variable = value)

    与C语言的不同是 不用定义数据类型 直接变量名 = 值即可 且也不需要加分号

    2. python输出与C语言的不同 1.不需要分号,输入的格式也有所不同

    用法:

    1) print("content") or print('content') 2) print(variable) [多个变量时可以用逗号隔开','] 3) print("",sep=' ',end='\n') [sep默认的分割是空格,end默认是换行] 4) print(r"content") [前面加上r表示原样输出引号里的内容]

    当内容过多时可以用\进行分割

    强制类型转换:

    int()float()str() a = input("please input a number") ''' if a<10: print(a) ''' #输出错误 Python中所有对象都是字符串所以需要强制转换 if int(a)<10: print(a)

    3.关于python的输入 与C语言的不同,python使用的是input()函数

    格式:

    1).input("......") 2).若想输出需要这么做 变量名1=input(".....") print(变量名1)即可 Notice: input("....")无论输入的是什么类型的东西,python都默认为字符串 例子: input("请输入你想要的数字:") num = input("请输入你想要的数字") print(num) #验证输入的都是字符串 num是int类型的但是打印出来的是字符串 则验证成功 print(type(num)) #转换数据类型(其实类似于C语言中的强制转换,其实一样) print(type(int(num)))#这段打印出来应该是int类型 #同理有 int(x),float(x),str(x) x表示想要转换的对象 #其中还有一些常用的如 eval(str):用来计算字符串中的有效python表达式,并返回一个对象 #tuple(s):将序列s转换为一个元组 #list(s):将序列s这换为一个列表 3).如果仅是为了为用户提供信息使用input足矣 但是如果想利用input和用户交互则会报错 例子: name = input("请输入你的名字") print("You name is %s"%name) #结果:程序报错! 原因:input函数需要输入的是Python的表达式 键入关键字,数字不会报错 若是想任意键入使用 raw_input() 例子: name = raw _input("请输入你的名字") print("You name is %s"%name) #程序不会报错

    格式化输出

    python 的格式化输出

    “{0} {1} {2}…”.format(‘ni’,1,‘xiao’)

    “{a} {b} {c}…”.format(a=‘ni’,b=1,c=‘xiao’)

    “%d %d %c…” %(1,2,‘a’) 可以联系一下C语言 (格式不一样而已)

    格式化的操作符的辅助指令

    符号说明m.nm是显示的最小的总宽度,n是小数点后的位数-用于左对齐+在正数前面显示加号(+)#在八进制数前面显示零(‘0’),在十六进制数前显示‘0x’或‘0X’0显示的数字前面填充‘0’取代空格:后面带填充的字符,只能是一个字符,默认是空格^ < >分别表示居中 左对齐 右对齐 后面带宽度 example1 = "{0} {1} {2}".format('ni',1,'xiao') print(example1) example2 = "{a} {b} {c}".format(a='nihao',b=1,c='xiaoming') print(example2) example3 = "%d %d %c %c" %(1,2,'a',97) print(example3) example4 = "%5.1f" %27.68 print(example4) a = "my name is:{name},my age is {age}" b = a.format(name='troke',age=18) c = "my name is:{0},my age is {1}" d = c.format('troke',18) b = "{:*>8}".format(245) print(b) # *****245 # {:.2f}  :保留小数点后两位 # {;,}   :以逗号分割的数字格式,3位3位分割 # {:0>2d} :填充左边,宽度为2 补0

    4.字符串:在Python中属于不可变对象

    1)'' 单引号 "" 双引号 只能一行写不能分行 如果需要分行 可以使用"\"来进行分行 2)''' ''' 三引号 可以分行写 例子: print('my name is') or print("my name is") print(''' my name is Troke ''')

    5.关于python的运算符

    与C语言相比就多了一些,有一些不同 1)在python中多了 **表示指数运算: 2**3=2*2*2, //表示整除(只取整数部分) 9//4=2 2)在python中赋值也有不同 多个变量赋值时: num1,num2,str1 = 10,5.5,'我是谁' 3)没有自增自减 加法操作 1)数字相加 : 3+2 => 5 2)字符串拼接 :"3"+"2" => "32" 3 列表、元祖的合并:[10,20,30]+[5,10,100] => [10,20,30,5,10,100] 乘法操作 1)数字相乘 : 3*2 => 6 2)字符串复制 :"3"*3 => "333" 3)列表、元祖的复制:[10,20,30]*3 => [10,20,30,10,20,30] 4)逻辑运算符就完全不同了 1. and(布尔与/且) [和C语言中的&&差不多]全真才真 2. or(布尔或) [和C语言中的||差不多]全假才假 3. not(布尔非) [和C语言中的!(逻辑非)差不多] 5)数字之间的逻辑运算 1.and运算符:如果比较的数字中只要有一个0 则返回0 否则返回最后一个非0数字 2.or运算符:只有比较的数字中都为0 结果返回才为0 否则返回第一个非0数字 #在python中 1<=a<=20 是可以合法表达的 跟数学上的形式差不多

    6)同一运算符

    运算符描述isis是判断两个标识符是不是引用同一个对象is notis not 是判断两个标识符是不是引用不同对象 is与==的比较 is是比较地址 ==是比较值

    例子:

    str1="troke" str2="troke2" str3=(str1) is (str2) print(str3) print(type(str3)) # 结果:False <class 'bool'> ` ___ ### 6.python中if的用法 if 条件: 执行语句 执行语句... 这里必须缩进4个单位或按Tab键 在这个软件里写代码不用缩进软件自动缩进 注意怎么判断if的语句块? 缩进的代码都是if里的语句块 当不再缩进时则不属于if里的语句块 ___ ### 7.多重if的使用 if 条件1: 执行语句 elif 条件2: 执行语句 else : (不加条件判断时表示结束多重ifif的嵌套也是可以跟C语言中的差不多 只不过格式和刚刚的书写格式要一样 第一层缩进4第二层缩进8以此类推 缩进相当于C语言中打了{}把语句包起来 ___ ### 8.三目运算符: 条件执行表达式 if 条件 else 条件不成立执行的表达式 ___ ### 9.python中 只有while 和 for 循环 #### 1) while的语法 while 条件 : 执行语句1 执行语句2 #和if的用法差不多 ___ #### 2) for语法 for 临时变量 in 序列: 重复执行的代码 重复执行的代码 range(start,end,step) 只有一个时默认是end 有两个时表示start和end ```python 例子: 1.for i in range(100): print(i) 表示打印0-99的值 2.for i in range(0,10,3): 表示从0开始,到10结束,步进值为3(即每次加33.for i in range(-10,-100,-30): 也可以负向进行for循环 4.name = "print" for x in name: 表示会对字符串print进行遍历 ****************** 结果:p,r,i,n,t ****************** 5.a = ["aa","bb","cc","dd"] for i in range(len(a)): print(i,a[i]) 表示会遍历整个列表a

    10.新的语法“切片”

    切片:是指对操作对象截取其中一部分的操作。字符串、列表、元组都支持切片操作 语法: 序列[开始位置下标:结束位置下标:步长] 注意: 1.不包含结束位置下标对应的数据,正负整数均可;2.步长是选取间隔,正负数均可,默认步长为1 步长就是下标加多少的标准 a = "abcdefgjklm" a[:] => 返回 "abcdefgjklm" a[2:] => 返回 "cdefgjklm" a[:2] => 返回 "ab" a[2:4] => 返回 "cd" a[1:5:2] => 返回 "bd" a[-3:] => 返回 "klm" a[-8:-3] => 返回 "defgj" a[::-1] => 返回 "mlkjgfedcba"

    11.字符串的常用操作方法:查找、修改、判断

    一.查找:查找子串在字符串中的位置或出现的次数 1.find(): 检测某个子串是否包含在这个字符串中.如果在,返回这个子串开始的位置下标否则则返回-1 语法: 字符串序列.find(子串,开始位置下标,结束位置下标) 开始和结束位置下标可以省略,表示在整个字符串序列中查找 2.index():检测某个子串是否包含在这个字符串追中.如果在,返回这个子串开始的位置下标,否则则报异常 语法: 字符串序列.index(子串,开始位置下标,结束位置下标) 开始和结束位置下标可以省略,表示在整个字符串序列中查找 3.count():返回某个子串在字符串中出现的次数 语法: 字符串序列.count(子串,开始位置下标,结束位置下标) 开始和结束位置下标可以省略,表示在整个字符串序列中查找

    二.字符串的修改

    1.replace():替换 语法:字符串序列.replace(旧子串,新子串,替换次数) 替换次数如果查出子串出现次数,则替换次数为该子串出现次数 2.split():按照指定字符分割字符串 语法:字符串序列.split(分割字符,num) num表示的是分割字符出现的次数,即将来返回数据个数为num+1个 3.join():用一个字符或子串合并字符串,即使将多个字符串合并为一个新的字符串 语法:字符或子串.join(多字符串组成的序列) 4.strip():去除首尾信息,lstrip:去除左边 rstrip:去除右边 例子: mystr='hello world and itcast and itheima and Python' #replace new_str=mystr.replace('and','he',)#replace不会修改原字符串的内容但会有返回值,即需要用新的变量去接收修改后的内容 new_str1=mystr.replace('and','he',1)#修改了一个and print(new_str) print(new_str1) #split 会返回一个列表,丢失分割字符 list1=mystr.split('and') #不写num默认指全部 and在字符串里有3个分割完就有4个 print(list1) list2=mystr.split('and',2)# num=2 所以最后出现的列表中的字符有3个 print(list2) #join 合并列表里面的字符串数据为一个大的字符串 mylist =['aa','bb','cc'] list3 ='...'.join(mylist) #join前的是连接符 print(list3) list4 ='dfdf'.join(mylist) print(list4) a = "*my world*" b = a.strip("*") print(b) # 返回my world
    Processed: 0.009, SQL: 8