python是一门动态解释型的强类型定义语言(先编译后解释)
动态类型语言
动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来
解释型
程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行
强类型
一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了
优点:效率高,团队开发,移植,拓展,嵌入
缺点:速度慢,不能加密,禁止多线程并行进程
告诉解释器用什么编码执行
#!/usr/bin/env python
# -*- coding: utf-8 -*-
进制
二进制 01
八进制 01234567
十进制 0123456789
十六进制 0123456789ABCDEF
注释
#单行注释
'''多行注释'''
用户输入:input('用户输入内容')
打印屏幕
name = 'sunlizhao'
print('I am %s'%(name))
%s是字符串 %d是数字 %f是浮点型
数据类型
数字
int(整型),long(长整形),float(浮点型),complex(负数)
布尔
真或假, 1或0, true或false
字符串
name = 'sunlizhao'
print('I am %s'%(name))
%s是字符串 %d是数字 %f是浮点型
字符串操作:
name.capitalize() 首字母大写
name.casefold() 大写全部小写
name.center(50,'-') 在name的两边输出 - 字符
name.count('s') 统计s出现的次数
name.encode() 字符编码为bytes格式
name.endswith('lz') 判断字符串是否为lz结尾
's\tlz'.expandtabs(10) 讲\t转换为多长的空格
name.find('sl') 查找sl,找到返回其索引, 找不到返回-1
format :
> msg = "my name is {}, and age is {}"
> msg.format("alex",22)
'my name is alex, and age is 22'
> msg = "my name is {1}, and age is {0}"
> msg.format("alex",22)
'my name is 22, and age is alex'
> msg = "my name is {name}, and age is {age}"
> msg.format(age=22,name="ale")
'my name is ale, and age is 22'
format_map
> msg.format_map({'name':'alex','age':22})
'my name is alex, and age is 22'
num1 = [11,22,33] num2 = (11,22,33) #num3 = {'a' = 11, 'b' = 22, 'c' = 33} myStr = 'hello word itcast and' #字符串操作 print (myStr) print(myStr.find("word"))#找不到返回-1,找到返回下标 print(myStr.rfind("itcast"))#从右面查找,返回下表 print(myStr.index('word'))#同find,找不到会出现异常 print(myStr.rindex("itcast"))#同find print(myStr.count('e'))#查找出现的次数 print(myStr.replace('word','Word',1))#将word替换为Word(从左到右替换一个) print(myStr.split(' '))#将字符串中的空格切割掉 print(myStr.capitalize())#字符串第一个字符大写 print(myStr.title())#首字母大写 print(myStr.lower())#所有大写字符转换为小写 print(myStr.upper())#所有小写字母转换为大写 lyric = " 想陪你一起看大海 " print(lyric.center(50))#在50个字符中居中 print(lyric.ljust(50))#靠左 print(lyric.rjust(50))#靠右 print(lyric.strip())#清除左右两侧空格 print(lyric.lstrip())#清楚左侧空格 print(lyric.rstrip())#清楚右侧空格 print(lyric.partition("一起"))#以'一起'为中心分割成三段 print(lyric.rpartition("一起"))#从右边开始查找(元组) file_name = "xxxx.txt" print(file_name.endswith(".txt"))#判断是否是.txt为后缀 print(file_name.startswith("xxxx"))#判断是否是xxxx为开头 numbe = "q" print(numbe.isalpha())#判断是否是字母 print(numbe.isdigit())#判断是否是数字 print(numbe.isalnum())#判断是否是数字或者字母 print(numbe.isspace())#判断是否是纯空格 a = ["aa","bb","cc"] b = " " print(" ".join(a))#将a中的字符串用b连接起来
列表,元祖操作
定义列表
names = ['孙礼昭','slz','sunlizaho']
下标从0开始names[0],names[1],names[2]
倒取从-1开始 names[-1],names[-2],names[-3]
切片:取多个元素
步长为2
names[::2]
如果想取到最后一个元素,不能写-1
names[0:]
追加:
从最后添加
names.append('我是新来的')
插入:
通过索引插入
names.insert(0,'我是第一')
修改:
通过索引修改
names[0] = '我才是第一'
删除:
强删list
def names
清空list
names.clear()
按照下标删除元素内容
def names[0]
names[0] = []
删除指定元素
names.remove('slz')
删除列表最后一个值
names.pop()
拓展:
list1的内容添加到names的后面
names.extend(list1)
统计:
统计names中slz出现的次数
names.count('slz')
排序/翻转:
按照ascll码排序,注意py3不同数据类型不能排序
names.sort()
将整个list倒序(不排只倒)
names.reverse()
获取下标:
根据元素内容获取下标(只返回找到的第一个)
names.index('slz')
元组:tuple一旦创建,不得修改
t = (a,b,[c,d]) tt = t[2] tt[0] = e tt[1] = f print(tt)
不是说不能变吗? 现在为什么又可以变了呢!
tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]